在MongoDB控制台中,如何通过id删除记录?这是我的收藏:
[
{
"_id" : { "$oid" : "4d512b45cc9374271b02ec4f" },
"name" : "Gazza"
},
{
"_id" : { "$oid" : "4d513345cc9374271b02ec6c" },
"name" : "Dave",
"adminOf" : { },
"email" : "email@email.com"
}
]
Run Code Online (Sandbox Code Playgroud)
以下是我尝试过的不起作用的命令:
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")});
Run Code Online (Sandbox Code Playgroud)
按名称删除有效:
db.test_users.remove( {"name":"Gazza"});
Run Code Online (Sandbox Code Playgroud)
这是在mongodb.org上的浏览器shell中,如果这有任何区别的话
谢谢
Nic*_*ell 253
很接近.这将有效:
db.test_users.remove( {"_id": ObjectId("4d512b45cc9374271b02ec4f")});
Run Code Online (Sandbox Code Playgroud)
即,您不需要ObjectId 的新内容.
Typ*_*son 16
答案是mongodb.org上的web控制台/ shell表现不同,而不是我预期的那样.在家安装的版本完美无故障,即; Web shell上自动生成的_id保存如下:
"_id" : { "$oid" : "4d512b45cc9374271b02ec4f" },
Run Code Online (Sandbox Code Playgroud)
在家中设置相同的文档和自动生成的_id保存如下:
"_id" : ObjectId("4d5192665777000000005490")
Run Code Online (Sandbox Code Playgroud)
查询对后者起作用没有问题.
Dmi*_*tri 12
好吧,_id是你示例中的一个对象,所以你只需要传递一个对象
'db.test_users.remove({"_id": { "$oid" : "4d513345cc9374271b02ec6c" }})'
Run Code Online (Sandbox Code Playgroud)
这应该工作
编辑:添加尾随paren以确保它已编译.
mjw*_*zor 11
如果您想通过ID列表删除,这非常有用.
db.CollectionName.remove({
"_id": {
$in: [
ObjectId("0930292929292929292929"),
ObjectId("0920292929292929292929")
]
}
})
Run Code Online (Sandbox Code Playgroud)
我自己刚刚遇到了这个问题,这个变化对我有用:
db.foo.remove({**_id**: new ObjectId("4f872685a64eed5a980ca536")})
Run Code Online (Sandbox Code Playgroud)
小智 6
首先从mongodb中获取ObjectID函数 ObjectId = require(mongodb).ObjectID;
然后你可以用删除函数调用_id
"_id" : ObjectId("4d5192665777000000005490")
副本集中是否有多个mongodb节点?
我发现(我通过Robomongo gui mongo shell使用,我猜在其他情况下也是如此)正确的删除语法,即
db.test_users.remove({"_id": ObjectId("4d512b45cc9374271b02ec4f")})
Run Code Online (Sandbox Code Playgroud)
...除非您连接到副本集的主节点,否则它不起作用。
小智 5
db.collection("collection_name").deleteOne({_id:ObjectId("4d513345cc9374271b02ec6c")})
Run Code Online (Sandbox Code Playgroud)