gpt4 book ai didi

mongodb - mongo - 丢弃不存在的集合抛出 'ns not found'

转载 作者:可可西里 更新时间:2023-11-01 10:02:01 25 4
gpt4 key购买 nike

我试图删除一个不存在的集合,但出现以下错误:

MongoError: ns not found.

在类似的问题中,有一个指向 mongo 代码的链接,表明这是预期的行为:

MongoError: ns not found when try to drop collection

但是,根据 mongo 文档,如果集合不存在,此方法应返回 false:

https://docs.mongodb.com/manual/reference/method/db.collection.drop/#db.collection.drop

我错过了什么?

服务器版本 - 3.6.5,mongodb 客户端 (javascript) - 3.0.21

我使用的命令:

await mongodb.collection('colname').drop()

mongodb.collection('colname').drop((err, res) => {
console.log('err: ' + err + ', res: ' + res) // doesn't get called
})

最佳答案

You link指的是mongo客户端的命令接口(interface)。它使用 javascript,但它是一个具有自己的 REPL 的应用程序。文档是正确的。

您使用的命令来自官方的 mongodb 节点包。这些命令的行为与 mongo 客户端上的行为不同。有关您的使用的文档位于:http://mongodb.github.io/node-mongodb-native/3.0/api/Collection.html#drop

顺便说一句,第一个参数是一个选项对象,第二个是回调。

您提供的回调仅在成功的 mongodb 查询时调用。当集合不存在时(如本例),不执行回调。但是这个函数返回一个 promise,它可以用来处理任何错误:

mongodb.collection('colname').drop().then(function () {
// success
}).catch(function () {
// error handling
})

关于mongodb - mongo - 丢弃不存在的集合抛出 'ns not found',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50964658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com