2011-11-25 19 views

回答

2

它看起来像你击中了“对象数组”问题。当你有一个对象数组时,MongoDB没有一套完整的update操作。

下面是你可以做的事情。您可以访问a.0.ba.1.b。这些将访问数组中的第一个和第二个元素。所以,你可以这样做:

db.coll.update({_id:"yourid"}, {$unset: {'a.0.b':1,'a.1.b':1}})

但是,您将需要生成每个文档正确的查询。有些文件可能在数组中有2个元素,有些可能有10个。所以在这里肯定需要额外的编程。

+0

是的,这正是我的问题。我希望能有一个优雅的解决方案,而我对mongo的了解不够。 :( – vedang

+0

如果在一两天内没有更好的答案,我会将此答案标记为已接受 – vedang

+0

Thanks @vedang,这绝对是MongoDB缺乏功能的区域,它支持有对象数组,但大多数更新操作符不适用于对象数组。 –

相关问题