MongoDB内嵌数组过滤查询问题


  • 註冊用戶

    我有以下结构的数据

    {
        "roomId": "1",
        "comment": [
            {
                "content": "犯我华夏着,虽远必诛",
                "userId": "13",
                "userName": "炎黄",
                "age": "76"
            },
            {
                "content": "风萧萧兮易水寒",
                "userId": "33",
                "userName": "荆轲",
                "age": "23"
            }
        ]
    }

    {
        "roomId": "2",
        "comment": [
            {
                "content": "大王叫我来巡山",
                "userId": "11",
                "userName": "都比",
                "age": "76"
            },
            {
                "content": "你是谁",
                "userId": "98",
                "userName": "你猜",
                "age": "110"
            }
        ]
    }

    我想要的结果是roomId=1 并且age>40的数据,以上述为例结果只要roomId=1,age=76那条

    如果是单纯的查询语句db.room.find()这种我能写出来,但是问题是现在用的spring boot 框架,Criteria,MongoTemplate 用这些怎么也出不来想要的结果

    昨天才接触mongoDB,mongo的文档只看了很少一部分,但时间有限,来不及仔细研究了,希望大神们指点我一下


  • Lv 1

    @龙恋天 说:

    想要的结果是roomId=1 并且age>40的数据,以上述为例结果只要roomId=1,age=76那条

     

    db.yyy.insertMany([{
        "roomId": "1",
        "comment": [
            {
                "content": "犯我华夏着,虽远必诛",
                "userId": "13",
                "userName": "炎黄",
                "age": 76
            },
            {
                "content": "风萧萧兮易水寒",
                "userId": "33",
                "userName": "荆轲",
                "age": 23
            }
        ]
    },{
        "roomId": "2",
        "comment": [
            {
                "content": "大王叫我来巡山",
                "userId": "11",
                "userName": "都比",
                "age": 76
            },
            {
                "content": "你是谁",
                "userId": "98",
                "userName": "你猜",
                "age": 110
            }
        ]
    }]);
    db.yyy.aggregate([{
        $unwind: '$comment'
    },{
        $match: {'roomId': '1', 'comment.age':{$gt:40}}
    }]);

  • 註冊用戶

    @22265 

    谢谢您的回答指导,不过这种语句我可以写出来,现在的问题是我的代码需要在spring boot下关联mongodb,用的是框架提供好的模版,结果写不出来了。不知道您有没有这方面的经验可以指导下


  • 註冊用戶

    @22265

    谢谢您的回答,把查询这部分的文档看完了,问题已经解决


登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待