在MongoDB控制台中通过_id移除

在MongoDB控制台中,我如何通过id删除logging? 这是我的collections:

[ { "_id" : { "$oid" : "4d512b45cc9374271b02ec4f" }, "name" : "Gazza" }, { "_id" : { "$oid" : "4d513345cc9374271b02ec6c" }, "name" : "Dave", "adminOf" : { }, "email" : "email@email.com" } ] 

以下是我尝试过的不起作用的命令:

 db.test_users.remove( {"_id":{"$oid":new ObjectId("4d512b45cc9374271b02ec4f")}}); db.test_users.remove( {"_id":{"$oid":"4d513345cc9374271b02ec6c"}}); db.test_users.remove( {"_id":"4d512b45cc9374271b02ec4f"}); db.test_users.remove( {"_id":new ObjectId("4d512b45cc9374271b02ec4f")}); 

删除名称作品:

 db.test_users.remove( {"name":"Gazza"}); 

这是在mongodb.org上的浏览器shell中,如果这有什么不同

谢谢

很接近。 这将工作:

 db.test_users.remove( {"_id": ObjectId("4d512b45cc9374271b02ec4f")}); 

即你不需要一个的ObjectId。

我努力了 。 这对我来说工作得很好。

 db.test_users.remove( {"_id": ObjectId("4d512b45cc9374271b02ec4f")}); 

答案是mongodb.org上的Web控制台/ shell的行为不同,而不是我所期望的。 在家里安装的版本完美无缺地工作,即; web shell上自动生成的_id被保存为这样:

 "_id" : { "$oid" : "4d512b45cc9374271b02ec4f" }, 

在家里相同的文件设置和自动生成的_id被保存像这样:

 "_id" : ObjectId("4d5192665777000000005490") 

查询对后者没有任何问题。

那么,_id是你的例子中的一个对象,所以你只需要传递一个对象

 'db.test_users.remove({"_id": { "$oid" : "4d513345cc9374271b02ec6c" }})' 

这应该工作

编辑:添加尾巴paren,以确保它编译。

我刚碰到这个,这个变化对我有用:

 db.foo.remove({**_id**: new ObjectId("4f872685a64eed5a980ca536")}) 

如果你想删除一个ID列表这很好的作品。

 db.CollectionName.remove({ "_id": { $in: [ ObjectId("0930292929292929292929"), ObjectId("0920292929292929292929") ] } }) 

首先从mongodb获取ObjectID函数ObjectId = require(mongodb).ObjectID;

那么你可以使用delete函数调用_id

“_id”:ObjectId(“4d5192665777000000005490”)

解决scheme和示例:

1- C:\ MongoDB \ Server \ 3.2 \ bin> mongo(不要发出命令,因为你还没有连接到任何数据库,你只能连接到数据库服务器mongodb)。

2-

show dbs analytics_database 0.000GB local 0.000GB test_database 0.000GB

3-

使用test_database切换到db test_database

4-

db.Collection.remove({“_ id”:ObjectId(“5694a3590f6d451c1500002e”)},1); WriteResult({“nRemoved”:1})

现在你看到WriteResult({“nRemoved”:1})是1而不是0。

完成。

在复制集中有多个mongodb节点吗?

我发现(我通过Robomongo gui mongo shell使用,我想在其他情况下也是如此)正确的删除语法,即

 db.test_users.remove({"_id": ObjectId("4d512b45cc9374271b02ec4f")}) 

…除非连接到副本集的节点,否则不起作用。