如何删除MongoDB中的部分数据?

在变量中设置要删除的值。要删除粒子数据,请使用remove()。让我们创建一个包含文档的集合-

> db.demo488.insertOne({"Name":"Chris"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8351e0b0f3fa88e22790b2")
}
> db.demo488.insertOne({"Name":"David"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8351e8b0f3fa88e22790b3")
}
> db.demo488.insertOne({"Name":"Bob"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8351ebb0f3fa88e22790b4")
}
> db.demo488.insertOne({"Name":"Mike"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e8351eeb0f3fa88e22790b5")
}
> db.demo488.insertOne({"Name":"Sam"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e835202b0f3fa88e22790b6")
}
> db.demo488.insertOne({"Name":"John"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e835207b0f3fa88e22790b7")
}
> db.demo488.insertOne({"Name":"Robert"});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e83520cb0f3fa88e22790b8")
}

find()方法的帮助下显示集合中的所有文档-

> db.demo488.find();

这将产生以下输出-

{ "_id" : ObjectId("5e8351e0b0f3fa88e22790b2"), "Name" : "Chris" }
{ "_id" : ObjectId("5e8351e8b0f3fa88e22790b3"), "Name" : "David" }
{ "_id" : ObjectId("5e8351ebb0f3fa88e22790b4"), "Name" : "Bob" }
{ "_id" : ObjectId("5e8351eeb0f3fa88e22790b5"), "Name" : "Mike" }
{ "_id" : ObjectId("5e835202b0f3fa88e22790b6"), "Name" : "Sam" }
{ "_id" : ObjectId("5e835207b0f3fa88e22790b7"), "Name" : "John" }
{ "_id" : ObjectId("5e83520cb0f3fa88e22790b8"), "Name" : "Robert" }

以下是删除MongoDB中的部分数据的查询-

> var deleteData = db.demo488.find({}, {_id : 1}).skip(4).toArray().map(function(d) { return
d._id; });
> db.demo488.remove({_id: {$in: deleteData}})
WriteResult({ "nRemoved" : 3 })

find()方法的帮助下显示集合中的所有文档-

> db.demo488.find();

这将产生以下输出-

{ "_id" : ObjectId("5e8351e0b0f3fa88e22790b2"), "Name" : "Chris" }
{ "_id" : ObjectId("5e8351e8b0f3fa88e22790b3"), "Name" : "David" }
{ "_id" : ObjectId("5e8351ebb0f3fa88e22790b4"), "Name" : "Bob" }
{ "_id" : ObjectId("5e8351eeb0f3fa88e22790b5"), "Name" : "Mike" }