我有一个名为“Customer”的集合。MongoDB AddCriteria:查询不适用于DBRef列表
{
"_id" : ObjectId("588f43140cf2aa78e4da861d"),
...
//rest fields
...
"company_name" : "Customer",
"address_id" : [
{
"$ref" : "address",
"$id" : ObjectId("588f43140cf2aa78e4da861b")
},
{
"$ref" : "address",
"$id" : ObjectId("588f43140cf2aa78e4da861c")
}
],
"parent_vendor_id" : {
"$ref" : "vendor",
"$id" : ObjectId("588f40e60cf2aa78e4da8611")
}
}
而这个集合中我使用的“地址”的DBREF,通过address_id
映射这是在列表的形式。
地址集合:
{
"_id" : ObjectId("588f40e60cf2aa78e4da860f"),
"_class" : "com.bursys.bcf.domain.Address",
...
//rest fields
...
"city" : "Durham",
"country" : "United States"
}
现在我想找出城市,客户和我使用
Query query = new Query();
query.addCriteria(where("address_id.$ref").is("address").and("address_id.city").is("Durham"));
customers = mongo.find(query, Customer.class);
但此查询,我没有得到结果。所以请纠正我... 任何形式的帮助将不胜感激... 在此先感谢
请分享你的 “客户” 的模式。 –