我必须删除与JSON嵌套数组和对象中的父元素具有相同 LocateId 的元素(我正在使用MongoDB):
{
"mainLocation": {
"locateId": {"$numberInt": "111111"},"LocateName": "Indonesia","subLocation": [{
"locateId": {"$numberLong": "2222222222"},*//this the refference for Child location*
"LocateName": "Jakarta Pusat","childLocation": [{
"locateId": {"$numberLong": "2222222222"},*//if the LocateId is same with Sublocation.LocateId will removed*
"LocateName": "Jakarta Pusat",},{
"locateId": {"$numberLong": "3333333333"},"LocateName": "Jakarta Barat",}]
},{
"locateId": {"$numberLong": "1234123412"},"LocateName": "Bandung","childLocation": []
}]
}
}
以及我期望的是:
{
"mainLocation": {
"locateId": {"$numberInt": "111111"},"LocateName": "Jakarta Pusat","childLocation": [{
"locateId": {"$numberLong": "3333333333"},}] *//the element with same Id has been removed*
},"childLocation": []
}]
}
}
我尝试了简单的功能,至少可以按我期望的顺序显示
db.pages.aggregate(
[{
"$group" : {
LocatediId: "$mainLocation.LocatediId",subLocation : {
"$group" : {
LocatediId: "$mainLocation.subLocation.LocatediId",Locatedname: "$mainLocation.subLocation.Locatedname"
}}
}}
]);
所以我可以将结果导出到JSON文件。