mongoDB:删除对象数组中的空对象

时间:2016-02-01 10:40:03

标签: javascript mongodb

不幸的是,我在某些文档中的数组中有一些虚假对象,其结构如下:

public List<RecommendedItem> recommend(long userID, int howMany, IDRescorer rescorer) throws TasteException

正如您在此示例中所看到的,数组中的第一个对象是空的。如何删除集合中所有文档的所有{ "_id" : "8vJY4baMbdYkgHian", "title" : "Cars", "tradename" : [ { }, { "element" : "Audi" }, { "element" : "Mercedes" } ] } - 数组中的空对象?

tradename

2 个答案:

答案 0 :(得分:3)

从数组中删除空对象的替代方法,没有任何假设:

db.a.update(
    {"tradename": {}},
    { $pull: { 'tradename': {$in:[{}]} } },
    { "multi": true }
);

答案 1 :(得分:0)

使用 $pull 进行以下更新操作会更新集合中的所有文档,以便从数组tradename中删除空对象,前提是嵌入文档具有{{1}仅限属性:

element