我有平面对象存储在mongo中,其中一个具有field00048属性,但我的查询仍然返回没有field00048的条目。有人能告诉我我的mongo查询有什么问题吗?我附上了下面数据库的图片以显示结构。
db.QA_Book_01.find({
field00048: { $exists: true }},
{
$and:[
{ 'entryTypeId': 'Entry_Type_01' },
{ 'field00048': { $ne : 'Closed' }}]
}).count();
在3条记录中,只有一条字段为“field00048”。当我将entryTypeId更改为Entry_Type_02时,它仍然使用字段'field00048'检索记录。不知道这里发生了什么。
答案 0 :(得分:1)
默认情况下,MongoDB的查询查询中有一个和操作,因此在and
查询中应用find
操作的正确语法如下所述。
db.users.find( { $and: [ {field00048: { $exists: true }},
{ 'entryTypeId': 'Entry_Type_01' },
{ 'field00048': { $ne : 'Closed' }} ] } )