MongoDb$where不接受javascript函数

MongoDb$where不接受javascript函数,mongodb,mongodb-query,Mongodb,Mongodb Query,在MongoDb v4.0文档中,它说我们可以使用where子句。我希望下面这个简单的示例返回零个文档 let receipts = await db .collection<IReceipt>("receipt_txs") .find({$where: function () { return false; } } ) .toArray(); 但是,这会返回每个文档 以下语法有效,但出于操作原因,我宁愿使用上述语法 let

在MongoDb v4.0文档中,它说我们可以使用where子句。我希望下面这个简单的示例返回零个文档

let receipts = 
    await db
        .collection<IReceipt>("receipt_txs")
        .find({$where: function () { return false; } } )
        .toArray();
但是,这会返回每个文档

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

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();

有人能帮我理解我哪里出了问题吗?文档非常清晰,而且这种语法已经被修改过,所以我确信它不会是一个bug。

带有函数文本的文档与所有框架都不兼容。例如,它是一个现成的,不受支持

您使用的是哪种语言?第一个代码片段只能在javascript/mongo Shell中使用。我使用的是typescript,没有考虑编译的影响,现在将检查它:/Ok,我现在明白了。仅mongo shell支持直接传入函数。谢谢