在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")})
…除非连接到副本集的主节点,否则不起作用。