Mongodb 为什么基本表达式true==true的查询不返回文档?
为什么此查询不返回任何文档Mongodb 为什么基本表达式true==true的查询不返回文档?,mongodb,Mongodb,为什么此查询不返回任何文档 db.records.find({ true: true }) MQL中不允许使用基本表达式吗?您可以尝试以下方法: db.records.find( { "_id": { "$ne": "" } } ) 此查询搜索记录集合并返回id字段不是空字符串的所有记录。这将返回集合中的所有记录,因为在大多数情况下,id字段是自动生成的,因此从不为空。基本mongo查询是关于对象匹配的。您的{true:true}查询将找到“true”字段为true的文档 如果希望表达式等效
db.records.find({ true: true })
MQL中不允许使用基本表达式吗?您可以尝试以下方法:
db.records.find( { "_id": { "$ne": "" } } )
此查询搜索记录集合并返回id字段不是空字符串的所有记录。这将返回集合中的所有记录,因为在大多数情况下,id字段是自动生成的,因此从不为空。基本mongo查询是关于对象匹配的。您的
{true:true}
查询将找到“true”字段为true
的文档
如果希望表达式等效,请查看:
文档是否包含true字段?如果不是,你怎么能期望它们被返回?如果考虑基本集合论,集合中的所有文档都符合条件。在本例中,true始终等于true,因此所有记录都符合原始集合的该子集。从1=1</CODE的记录中考虑等价的SQL<代码> SELECT*。在本例中,表
记录中的所有记录都将返回。但是,为了更简洁地回答你的问题,不,没有叫做“真”的字段。谢谢Josh。我可以运行db.records.find({})并获取所有记录。我在质疑是否有能力使用基本的表达方式。
db.records.find({ $expr: { $eq: [true , true] } })