如何使用spring从mongodb数组中嵌入的内部文档中检索数据?

{
    "project" : "proj001",
    "sourcevo" : [
        {
            "name" : "HpAlm",
            "type" : "database",
            "source" : "mysql",
            "toolvo" : {
                "url" : "https://123.com",
                "userName" : "123user",
                "password" : "password"
            },
            "dbvo" : {
                "servername" : "",
                "userName" : "",
                "password" : ""
            }
        }
    ]
}

最佳答案

使用mongodbdb.collection.find()方法,下面的查询将返回sourcevo数组包含名称字段等于“hpalm”的元素的所有文档。

db.collection.find("{ sourcevo.name : { $eq : 'HpAlm' } }");

在MongoTemplate中,查询应该如下所示:
BasicQuery myQuery = new BasicQuery("{ sourcevo.name : { $eq : 'HpAlm' } }");
List<Document> docsList = mongoOperation.find(myQuery, Document.class);

09-25 20:39