我需要搜索有多少人拥有特定的朋友(按姓名),并且JSON中的每个记录都有一系列朋友。我怎样才能达到该领域的价值" name"在mongoDB shell中的对象数组?也许在对此字段执行搜索之前,需要将此字段编入索引?
"friends" : [{ "id" : 0, "name" : "Baird Fitzpatrick" }, { "id" : 1, "name" : "Karyn Benjamin" }, { "id" : 2, "name" : "Stacey Fuentes" }]

答案 0 :(得分:1)
您可以通过提供嵌套属性的路径来搜索mongodb中的嵌套对象:
db.YOURCOLLECTION.find({"friends.name": "ABC"});
在对此字段执行搜索之前,是否需要将此字段编入索引?
当然,您可以在嵌套字段上创建索引。只需提供一个带属性的索引就是上面嵌套字段的路径:
db.YOURCOLLECTION.createIndex( { "friends.name": 1 } )
如需提前使用,您可以阅读$regex
query