Mongo db query where 具有值的列(值列表)的条件
Mongo db query where condition for a column (list of values) having a value
我正在尝试找到一种方法来使用 Spring 查询来过滤 Mongo 数据库中的记录。
这是场景,让我们看看我有一个 Activity entity/document。其中一个字段是名称列表。我想看看我是否可以让名称字段包含的所有记录都获得给定值,比方说 "Joker"。
比如我的json在Mongo是
Activity 1 -
{
“_id”:ObjectId(“52c14eb92f7ceb854e445354”),
...
"names":[{
"username" : "username1",
"realname" : "Super Man"
}, {
"username" : "username2",
"realname" : "Iron Man"
}]
}
Activity 2 -
{
“_id”:ObjectId(“52c14eb92f7ceb854e445355”),
...
"names":[{
"username" : "username3",
"realname" : "Bat Man"
}, {
"username" : "username4",
"realname" : "Joker"
}]
}
而且我希望查询只会让我得到 Activity 2。
此外,如果可能的话,我更喜欢在我的代码中使用 spring Mongo 查询。提前致谢。
尝试
db.collection.find({"names.realname": "Joker"});
我从未使用过 Spring 查询,但应该类似于
Query query = new Query();
query.addCriteria(Criteria.where("names.realname").is("Joker"));
List<MyClass> users = mongoTemplate.find(query, MyClass.class);
我正在尝试找到一种方法来使用 Spring 查询来过滤 Mongo 数据库中的记录。 这是场景,让我们看看我有一个 Activity entity/document。其中一个字段是名称列表。我想看看我是否可以让名称字段包含的所有记录都获得给定值,比方说 "Joker"。
比如我的json在Mongo是
Activity 1 -
{ “_id”:ObjectId(“52c14eb92f7ceb854e445354”), ... "names":[{ "username" : "username1", "realname" : "Super Man" }, { "username" : "username2", "realname" : "Iron Man" }] }
Activity 2 -
{ “_id”:ObjectId(“52c14eb92f7ceb854e445355”), ... "names":[{ "username" : "username3", "realname" : "Bat Man" }, { "username" : "username4", "realname" : "Joker" }] }
而且我希望查询只会让我得到 Activity 2。
此外,如果可能的话,我更喜欢在我的代码中使用 spring Mongo 查询。提前致谢。
尝试
db.collection.find({"names.realname": "Joker"});
我从未使用过 Spring 查询,但应该类似于
Query query = new Query();
query.addCriteria(Criteria.where("names.realname").is("Joker"));
List<MyClass> users = mongoTemplate.find(query, MyClass.class);