在mongodb中获取集合中的个别数据的查询是什么?

时间:2016-09-05 09:19:22

标签: mongodb-query

我正在使用mongoldb数据库,我实际上是这个数据库的新手,我有一组联系人,我想通过mongo查询获取个人数据。

联系人收藏

[{
"_id": "57cd2f6c3966037787ce9550",
"contact": [{
    "id": "457899979",
    "fullname": "Abcd Hello",
    "phonenumber": "123575784565",
    "currentUserid": "123456789"
}, {
    "id": "7994949849",
    "fullname": "Keyboard Mouse",
    "phonenumber": "23658974262",
    "currentUserid": "123456789"
}, {
    "id": "7848848885",
    "fullname": "Test Xyz",
    "phonenumber": "87556699632",
    "currentUserid": "123456789"
}]

}, {
"_id": "57cd2fe02c40b97791b39fe3",
"contact": [{
    "id": "457899979",
    "fullname": "iPad",
    "phonenumber": "85632889714",
    "currentUserid": "789456123"
}, {
    "id": "7994949849",
    "fullname": "Cool",
    "phonenumber": "33698777523",
    "currentUserid": "789456123"
 }]
}]

Mongo查询

db.friendslist.find({"currentUserid" : "789456123"})

但此查询获取空结果, 我想获取currentUserid的联系人列表:789456123。

请仔细阅读我的帖子并向我推荐一些解决方案。

找到解决方案

db.friendslist.find({ "contact": { "$elemMatch": { "currentUserid" : "789456123"  } } }).pretty()

1 个答案:

答案 0 :(得分:0)

@Deeptiman,您提到了答案,但问题ID和答案ID不相同。

enter image description here
这有助于您在以下查询中找到"currentUserid": "789456123" $elemMatch运算符匹配包含数组字段的文档,其中至少有一个元素匹配所有指定的查询条件。 并且.pretty()用于格式化您的代码。

db.friendslist.find({
 "contact": { 
    "$elemMatch": { 
         "currentUserid" : "789456123" 
                   } 
            } 
}).pretty()