不幸的是,我在某些文档中的数组中有一些虚假对象,其结构如下:
public List<RecommendedItem> recommend(long userID, int howMany, IDRescorer rescorer) throws TasteException
正如您在此示例中所看到的,数组中的第一个对象是空的。如何删除集合中所有文档的所有{
"_id" : "8vJY4baMbdYkgHian",
"title" : "Cars",
"tradename" : [
{
},
{
"element" : "Audi"
},
{
"element" : "Mercedes"
}
]
}
- 数组中的空对象?
tradename
答案 0 :(得分:3)
从数组中删除空对象的替代方法,没有任何假设:
db.a.update(
{"tradename": {}},
{ $pull: { 'tradename': {$in:[{}]} } },
{ "multi": true }
);
答案 1 :(得分:0)
使用 $pull
进行以下更新操作会更新集合中的所有文档,以便从数组tradename
中删除空对象,前提是嵌入文档具有{{1}仅限属性:
element