使用父项和子引用文档中的条件检索MongoDB文档中的嵌套对象

时间:2017-02-21 09:23:08

标签: spring mongodb spring-data

下面我为用户定义了一个结构(MongoDB文档)

{
    "_id" : ObjectId("588db8c76b1d3032105a8faf"),
    "uid" : "123456",
    "groups" : [{_id : "1", "uid" : "123"}, {_id : "1", "uid" : "258"}, {_id : "1", "uid" : "296"}],
    "connections" : [ 
        {
            "$ref" : "user",
            "$id" : ObjectId("588db8e36b1d3032105a9126")
        }, 
        {
            "$ref" : "user",
            "$id" : ObjectId("588db8e06b1d3032105a9124")
        }, 
        {
            "$ref" : "user",
            "$id" : ObjectId("588db8e36b1d3032105a9127")
        }
        ]
}

其中连接也是用户。

对于 > uid = Y的用户,将归属的所有连接与的所有连接进行了哪些可能的查询。

我正在使用MongoDB 3.4。我会接受Mongo Query或Spring Data这样的查询。

1 个答案:

答案 0 :(得分:0)

我不确定我理解描述,也许这有助于你

db.collection.find({"connections": {$elemMatch: {"$id": {$eq: Y}}}})