0
我有蒙戈文件如下如何構建basicdbobject查詢以刪除深層數組documnet?
"_id" : ObjectId("5072b33aa4e8dd3e359b8e94"),
"menus" : {
"5072b8dda4e8dd3e359b8ea8" :
{
"_id" : ObjectId("5072b8dda4e8dd3e359b8ea8"),
"description" : "hfghfgh",
"MenuItems" :
[
{
"name" : "dfgdfg",
"description" : "dgdfgd",
"_id" : ObjectId("5072b91ba4e8dd3e359b8eaa")
},
{
"name" : "fgdfgdf",
"description" : "gdfgg",
"_id" : ObjectId("5072bb92a4e8204e51de1084")
}
]
}
}
其實我曾試圖刪除下列對象在的菜單項
{
"name" : "fgdfgdf",
"description" : "gdfgg",
"_id" : ObjectId("5072bb92a4e8204e51de1084")
}
我的查詢,如下所示,但它不工作。
BasicDBObject query=new BasicDBObject("_id",objectId("...");
BasicDBObject document = new BasicDBObject("menus.5072b8dda4e8dd3e359b8ea8.menuItems.$._id", ObjectId("5072bb92a4e8204e51de1084"));
BasicDBObject updateOps=new BasicDBObject("$pull", document);
我爲的菜單項 「_id」 ID:物件( 「5072bb92a4e8204e51de1084」)的菜單 「_id」 ID:物件( 「5072b8dda4e8dd3e359b8ea8」)和頂層文件 「_id」 ID:物件( 「5072b33aa4e8dd3e359b8e94」),
你的問題就沒有意義了。請儘量做得更清楚,否則你的問題很可能會被封閉 –