如何在 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" }
广告