Questions tagged «mongoose»

Mongoose是用JavaScript编写的MongoDB对象建模工具或ODM(对象文档映射器),旨在在异步环境中工作。

3
如何在猫鼬中查询不同的值?
我有一个问题,我希望能够获得一个集合的所有唯一城市,而我的代码如下所示: var mongoose = require("mongoose"), Schema = mongoose.Schema; var PersonSchema = new Schema({ name: String, born_in_city: String }); var Person = mongoose.model('Person', PersonSchema); 在本地的MongoDb中,我可以做到db.person.distinct("born_in_city"),但是似乎没有与Mongoose等效的东西。是我自己遍历所有文档的唯一选择,还是有更好的解决方案? 为了尝试使用node-mongodb-native应答者建议的基础,我尝试这样做: mongoose.connection.db.collections(function(err, collections){ collections[0].distinct('born_in_city', function( err, results ){ console.log( err, results ); }); }); 但是,该results字段为空,没有错误。我还希望能够仅按名称获取所需的集合,而不是collections尽可能地过滤返回的内容。

17
MongoDB连接错误:MongoTimeoutError:服务器选择在30000毫秒后超时
我正在尝试创建一个完整的应用程序,阅读以下教程: https://medium.com/javascript-in-plain-english/full-stack-mongodb-react-node-js-express-js-in-one-simple-app-6cc8ed6de274 我遵循了所有步骤,然后尝试运行: node server.js 但我收到以下错误: MongoDB连接错误:MongoTimeoutError:服务器选择在超时30000毫秒后超时._onTimeout(C:\ RND \ fullstack_app \ backend \ node_modules \ mongodb \ lib \ core \ sdam \ server_selection.js:308:9)在listOnTimeout(内部/ processTimers(internal / timers.js:475:7)上的timers.js:531:17){名称:“ MongoTimeoutError”,原因:错误:在TCPConnectWrap.afterConnect上连接ETIMEDOUT 99.80.11.208:27017 [完成时](网络。 js:1128:14){名称:'MongoNetworkError',[Symbol(mongoErrorContextSymbol)]:{}},[Symbol(mongoErrorContextSymbol)]:{}}(节点:42892)UnhandledPromiseRejectionWarning:MongoTimeoutError:服务器选择在30000 ms之后超时在超时时._onTimeout(C:\ RND \ fullstack_app \ backend \ node_modules \ mongodb \ lib \ core \ sdam \ server_selection.js:308:9)在processTimers(internal / …

4
MongoError:此MongoDB部署不支持可重试的写入。请在您的连接字符串中添加retryWrites = false
我"mongoose": "^5.7.1"在Node.js项目中使用。我正在制作一个涉及两个文档更新的api。因此,我正在使用如下交易: // Start the transaction session = await mongoose.startSession() session.startTransaction() await Promise.all([ <1st update operation>, <2nd update operation> ]) // Commit the transaction session.commitTransaction() 在本地环境中点击此api时,出现以下错误: MongoError:此MongoDB部署不支持可重试的写入。请在您的连接字符串中添加retryWrites = false。 当我在远程环境中点击此api时,它运行良好。我使用https://www.clever-cloud.com作为数据库云,使用AWS作为api云。 如错误消息中所写,我尝试将 retryWrites=false 在我传递给猫鼬的连接字符串的末尾 mongodb://${ip}:${port}/${this.MONGO_DATABASE}?retryWrites=false 带有retryWrites: false传递给该mongoose.connect方法的选项。 mongoose.connect(`mongodb://${ip}:${port}/${this.MONGO_DATABASE}`, { useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, retryWrites: false }, (err) => {...}) …
10 mongodb  mongoose 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.