MongoDB를 (또는 자바)의 배열로 객체 찾기 : 제품 1에 따르면이런 내가 모음 (세트)를 가지고
{
"_id" : ObjectId("515611c1c6e3718ee42a5655"),
"id": "Product1",
"type": "ProductType4"
"productFeature": [
{
"id": "ProductFeature1"
},
{
"id": "ProductFeature2"
},
{
"id": "ProductFeature3"
}
]
"productPropertyNumeric": 25
},
... and more product objects...
{
"_id" : ObjectId("515611c1c6e3718ee42a5666"),
"id": "ProductFeature1",
"label": "blablabla"
},
{
"_id" : ObjectId("515611c1c6e3718ee42a5667"),
"id": "ProductFeature2",
"label": "blebleble"
},
{
"_id" : ObjectId("515611c1c6e3718ee42a5668"),
"id": "ProductFeature3",
"label": "blublublu"
} ... and more feature objects...
을, 나는 특정 제품에있는 기능과 레이블을 찾을 수있다 그것의 "productFeature"배열.
내가 (예를 들어, 변수를 사용하여)을 찾기 위해 몽고 쉘에서 시도 :
var aaa = db.dataset.find({ id: "Product1" })
db.dataset.find({ id: "aaa.productFeature.id" })
을하지만이 작동하지 않습니다. 누군가가 배열로 객체를 찾는 방법을 알고 있다면 나를 도와주세요. 대단히 감사합니다.
PS : 그것은 자바에서 가장 좋은 것입니다 - 그냥 예를 들어 쿼리를 적용
BasicDBObject query = new BasicDBObject();
query.put("type","ProductType4");
query.put("productPropertyNumeric", new BasicDBObject("$gt", 10));
DBCursor cursor = coll.find(query).sort(new BasicDBObject("label", 1));
while (cursor.hasNext()){
System.out.println(cursor.next().get("id"));
}