如何仅返回查询中包含指定字段的文档

时间:2019-07-25 16:41:27

标签: mongodb nosql

例如,我有查询:

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" }

1 个答案:

答案 0 :(得分:1)

您可以使用以下查询

db.collection.find({
  "name": "Jack",
  "married": { "$ne": "no", "$exists": true }
})

实际上,您需要检查married字段的两个条件。 $exists的一个位置,$ne的一个位置为“否”