问题:
有个数据如下,要删除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
有个数据如下,要删除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