该操作返回 deleted: 0
const res = await ctx.db.collection(this.col).removeOne({ _id: ctx.params.id });
不确定我在这里做错了什么。 { _id: <id> }
的 GET 请求看起来工作正常。
ctx.params.id
已定义,与数据库中的ObjectId相同。
根据此文档,您可以执行 collection.removeOne()
(参见示例 2)https://mongodb.github.io/node-mongodb-native/2.2/api/Collection.html#remove
// Remove all the document
collection.removeOne({a:1}, {w:1}, function(err, r) {
test.equal(null, err);
test.equal(1, r.result.n);
db.close();
});
最佳答案
尝试将 ctx.params.id
转换为 ObjectId
,这就是 mongodb 在内部存储标识符的方式。
import { ObjectId } from 'mongodb'
id = ObjectId(ctx.params.id)
关于node.js - 如何使用 node-mongodb-native 驱动程序删除文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42051054/