当我打电话
db.collection.remove({'condition':'some condition'});
这一行将删除所有匹配的条件文件。
如果我只想删除任何一个或第n个匹配条件中的一个?
答案 0 :(得分:12)
您需要为此
执行两个单独的查询只从匹配过滤器中选择一项
var item = db.collection.findOne({'condition':'some condition'})
并使用ID
删除该项目 db.collection.remove({_id: item._id});
答案 1 :(得分:10)
db.collection.remove
现在有一个justOne
标志
http://docs.mongodb.org/manual/reference/method/db.collection.remove/#db.collection.remove
答案 2 :(得分:2)
要从集合中删除一个文档,请使用下面的命令
db.collectionname.remove({“_ id”:ObjectId(“5473293d43ecdre56352457f3a”)})
答案 3 :(得分:1)
来说只是个
可选的布尔值。要将删除限制为仅一个文档,请设置为
true
。省略使用默认值false
并删除符合删除条件的所有文件。
您可以将justOne
设置为true
,以便执行此操作。
之前 MongoDB版本2.6:
db.collection.remove(
<query>,
<justOne>
)
MongoDB版 2.6或更高版本:
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
像这样:db.collection.remove({"condition": "some condition"}, {justOne: true});
。
答案 4 :(得分:0)
难道你不能先运行一个find来获取id然后删除你想要的那个吗?
答案 5 :(得分:0)
如果有多条记录并且您只想删除第一条记录,则在remove()方法中设置justOne参数。
在这里,你只想删除1.因此,设置&#34; justOne&#34;参数为1。
db.collection.remove({&#39; condition&#39;:&#39;某些条件&#39;},1);
答案 6 :(得分:0)
尝试删除该内容。
db.users.deleteOne({"_id": ObjectId("5473293d43ecdre56352457f3a")});
答案 7 :(得分:0)
我用了这个,对我有用
' Module 1
Option Explicit
Public pApp As AppEvents
Sub GetAppClass()
Set pApp = New AppEvents
Set pApp.App = Application
End Sub
这适用于MongoDB Shell版本:3.2.17
答案 8 :(得分:0)
例如,数据库的名称为“ abc”,并且在该名称下有一个名为“用户”的集合,并且用户收到的电子邮件为“ test@test.com”,您想将其删除: 1.在终端上,如果键入“ show dbs”(不带引号“”),它将列出所有数据库,包括“ abc” 2.如果键入“ use abc”,它将切换到所需的数据库-abc(并显示消息:“ switched to db abc”) 3.现在,如果您键入“显示收藏集”,它将显示包括“用户”在内的所有收藏集 4.如果要列出此集合中的所有文档,只需键入:db.users.find({}) 5.如果要删除此集合中的特定文档,请键入: db.users.remove({“ email”:“ test@test.com”})
如果成功,它将显示-WriteResult({“ nRemoved”:1})