我有以下查询
db.getCollection('DOCUMENT1').find(
{"FIELD1":
{
"$in":[
1234567,
7654321
]
}
} , "$and": [{
"FIELD2" : { $exists : true }
}]
,{"FIELD1" : 1, "FIELD2" : 1} )
执行上述查询时,出现以下错误:
错误:第9行:意外的令牌:
我仅获得与“ Field1”匹配的文档。使用$ in,从获得的文档中,我要检查是否存在另一个字段(FIELD2),如果存在,则要显示该字段的值。我该如何实现?
答案 0 :(得分:1)
应该是这样的:
db.getCollection('YourCollectionName').find({$and :[{field1: {$in:[1234567, 7654321]}},{field2:{$exists: true}}]},
{field1:1, field2:1, _id:0})
您的查询存在语法错误,并且$and
是一个包含多个过滤器的数组,必须使用它代替.find()
的filterQuery。 例如:- .find(filterQuery, projectQuery)