我如何在mongodb中只删除一个对象,而不是匹配过滤器查询的所有对象?



这是我的代码用于删除包含名称为'bob'的对象:

app.delete('/user/:id', async (req, res) => {
const id = req.params.id;
const query = { name: "bob" }
const result = await userCollection.deleteOne(query);
res.send(result);
});

此代码删除所有名称为'bob'的对象,但我只想从数据库中删除匹配此查询的任何一个实例,而不是所有对象。是否有办法设置要删除多少实例的计数来匹配这个查询?

您可以使用以下代码

const ObjectId = require("mongodb").ObjectId;
app.delete('/user/:id', async (req, res) => {
const id = req.params.id;
const query = { _id: ObjectId(id) };
const result = await userCollection.deleteOne(query);
res.send(result);
});

最新更新