例如,我有查询:
db.person.find({$and:[{name: "Jack"},{married: {$not: {$eq: "no"}}}]})
结果是:
{ "_id" : ObjectId("5d2d199ddde29047871b5181"), "name" : "Jack", "age" : 20 }
{ "_id" : ObjectId("5d38cdf960b4663b4581ed5d"), "name" : "Jack", "age" : 19 }
{ "_id" : ObjectId("5d38ce1a60b4663b4581ed5e"), "name" : "Jack", "married" : "yes" }
如何仅返回具有已婚姓名的行,如:
{ "_id" : ObjectId("5d38ce1a60b4663b4581ed5e"), "name" : "Jack", "married" : "yes" }
答案 0 :(得分:1)
您可以使用以下查询
db.collection.find({
"name": "Jack",
"married": { "$ne": "no", "$exists": true }
})
实际上,您需要检查married
字段的两个条件。 $exists
的一个位置,$ne
的一个位置为“否”