Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 为什么基本表达式true==true的查询不返回文档?_Mongodb - Fatal编程技术网

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] } })