2

我的数据库中有可能缺少特定布尔字段的文档。我需要返回该字段缺失或存在但为假的文档集。我将如何做到这一点?

4

3 回答 3

1

可以使用$exists:

db.document.find( { bln : { $exists : true } } );

此查询将选择文档集合中存在 bln 字段的所有文档

db.document.find( { bln : { $exists : false } } );

此查询将选择文档集合中不存在 bln 字段的所有文档

于 2013-08-16T17:01:28.303 回答
0

您可以将 JavaScript 函数用作当前文档所在的过滤器this。它不如使用组合有效,$exists $or $eq但它允许您使用熟悉的 JS 习惯用法来测试属性的虚假性(和/或不存在):

db.myCollection.find( function() { return !this.field; } );

更多信息: http: //docs.mongodb.org/manual/reference/operator/query/where/

于 2014-04-21T14:30:52.823 回答