sysdljr 发表于 2012-08-13 14:43

mongodb中如何删除列?

刚用mongodb, 比如有个collection内容如下:

{ "_id" : ObjectId("502888b73f8a7cc3ffbdede8"), "id" : 1, "nam" : 210 }
{ "_id" : ObjectId("502887403f8a7cc3ffbdede7"), "id" : 3, "nam" : "t3", "name" : 10 }
{ "_id" : ObjectId("50289af13f8a7cc3ffbdede9"), "id" : 2, "nam" : 500 }

怎么删除其中的name列?帮助文档中没找到删除列的关键字

上下求索者 发表于 2012-09-13 11:02

> use user      ###假设集合是user
switched to db user
> i={ "_id" : ObjectId("502887403f8a7cc3ffbdede7"), "id" : 3, "nam" : "t3", "name" : 10 }
{
        "_id" : ObjectId("502887403f8a7cc3ffbdede7"),
        "id" : 3,
        "nam" : "t3",
        "name" : 10
}
> db.user.insert(i)   ####将你的数据加进去,这里我只加你要修改的那条
> db.user.find()      ####查看数据是否插入进去
{ "_id" : ObjectId("502887403f8a7cc3ffbdede7"), "id" : 3, "nam" : "t3", "name" : 10 }
> someone=db.user.findOne({"id":3})   ###将你要修改的文档找出来,并赋给someone
{
        "_id" : ObjectId("502887403f8a7cc3ffbdede7"),
        "id" : 3,
        "nam" : "t3",
        "name" : 10
}
> delete someone.name####删除someone中你想删除在列(name)
true
> someone   ###可以查看someone已经修改
{ "_id" : ObjectId("502887403f8a7cc3ffbdede7"), "id" : 3, "nam" : "t3" }
> db.user.find()   ###但数据库中的文档没变
{ "_id" : ObjectId("502887403f8a7cc3ffbdede7"), "id" : 3, "nam" : "t3", "name" : 10 }
> db.user.update({id:3},someone)   ###更新数据库中的文档
> db.user.find()###查看文档,虽然有点烦,但终于还是达到了你的目标
{ "_id" : ObjectId("502887403f8a7cc3ffbdede7"), "id" : 3, "nam" : "t3" }
>

上下求索者 发表于 2012-09-20 07:42

最近学了修改器,发现删除键太简单了,之前的操作简直让我害羞啊......
> db.name.insert({id:3,nam:"t3",name:10})
> db.name.find()
{ "_id" : ObjectId("505a570bf67c1b9a341caefa"), "id" : 3, "nam" : "t3", "name" : 10 }
> db.name.update({"id" : 3},{$unset:{"name" : 10}})
> db.name.find()
{ "_id" : ObjectId("505a570bf67c1b9a341caefa"), "id" : 3, "nam" : "t3" }

sysdljr 发表于 2012-12-11 10:55

非常感谢:))
页: [1]
查看完整版本: mongodb中如何删除列?