MongoDB remove 指定Arrary项问题

问题:
有个数据如下,要删除interests里面的第二项 interests.1
{

        "_id" : ObjectId("4d1cb5de451600000000497a"),          
        "name" : "dannie", 
        "interests" : [ 
            "guitar", 
            "programming",          
            "gadgets", 
            "reading" 
        ]  
}

现行方式是替换js数组,再把新数组插进去。
var interests = db.people.findOne({"name":"dannie"}).interests; 
interests.splice(2,1) 
db.people.update({"name":"dannie"}, {"$set" : {"interests" : interests}});
这个方式可行,但是很笨。

Mongo貌似不提供db.example.update({_id:1}, { $remove : { 'sequence.1' : 1 }})这种方式

主要是因为Arrary又index所以,还有排序问题。

这是个opened issue 可阅读https://jira.mongodb.org/browse/SERVER-1014

你可能感兴趣的:(mongodb)