MongoDb $不接受javascript函数

问题描述 投票:0回答:1

在MongoDb(v4.0)文档中,它说我们可以将pass a javascript function转换为where子句。我希望以下简单的例子返回零文档...

let receipts = 
    await db
        .collection<IReceipt>("receipt_txs")
        .find({$where: function () { return false; } } )
        .toArray();

但是这会返回每个doc。

以下语法有效,但出于操作原因,我宁愿使用上面的语法。

let receipts = 
    await db
        .collection<IReceipt>("receipt_txs")
        .find({$where: "function () { return false; }" } )
        .toArray();

let receipts = 
    await db
        .collection<IReceipt>("receipt_txs")
        .find({$where: "false" } )
        .toArray();

谁能帮我理解我哪里出错了?文档很清楚,这个语法一直是valid since v2所以我敢肯定它不会是一个bug。

mongodb mongodb-query
1个回答
1
投票

带有函数文字的$where与所有框架都不兼容。例如,它是一个feature request in Meteor,不支持开箱即用。

© www.soinside.com 2019 - 2024. All rights reserved.