update({_id:"e724225d-0041-4383-9cd9-d9b28f1f7f22"}, {$pull:{"l.d":{u:"http://qq-----3223423523"}} )
因为d数组下两个u的值相同,所以会删除掉两条,如果想删掉指定的某一条,可以以唯一的id来指定,比如使用t的值:
update({_id:"e724225d-0041-4383-9cd9-d9b28f1f7f22"}, {$pull:{"l.d":{t:"1363173410929"}} )
引用 楼主 wclxyn 的回复:
{
"_id": "e724225d-0041-4383-9cd9-d9b28f1f7f22",
"l": {
"d": [
{"u": "http://qq-----3223423523", "t": 1363173410929},
{"u": "http://qq-----3223423523","t": 1363173411188}
]
}
}
我做了一个mongodb的表如上结构
我现在想用pull删除l.d.u="http://qq-----3223423523"
的数据,但是会把所有匹配都删除,我怎么处理这个问题,或者有别的方法不重复删除吗? |