我无法查询,我想在 individualUsers 字段中找到包含 id "5418a26ce4b0e4a40ea1d548" 的所有文档。如果您知道如何在 Spring Data MongoDB 查询中执行此操作,那将非常有用。
db.collection.find({individualUser:{"5418a26ce4b0e4a40ea1d548"}})
一个文档的示例
{ "_id" : ObjectId("5418c3b9e4b03feec4345602"), "creatorId" : "5418a214e4b0e4a40ea1d546", "individualUsers" : { "5418a26ce4b0e4a40ea1d548" : null, "5418a278e4b0e4a40ea1d54a" : null } }
更新#001
实体代码
@Document
class Idea{
@Id
String id;
String creatorId;
Map<String,String> individualUsers;
/*getter and setter omitted*/
}
界面
public interface IdeaRepository extends MongoRepository<Idea,String> {
}
更新#002
所以当 spring-mongodb 将 hashmap 保存到 json 时,它看起来像
"individualUsers" : { "5418a26ce4b0e4a40ea1d548" : null, "5418a278e4b0e4a40ea1d54a" : null }
在 java 程序中,我可以使用键值轻松获取数据。但是在mongodb查询中,我无法查询到key?
所以问题是我可以在 "individualUsers": {} 中查询吗?