В документации MongoDb (v4.0) говорится, что мы можем передать функцию JavaScript в предложение 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();
Может кто-нибудь помочь мне понять, где я иду не так? Документы достаточно ясны, и этот синтаксис действителен , начиная с v2 , поэтому я уверен, что это не может быть ошибкой.