node.js - Node+MongoDB - 错误 : process. nextTick(function() { throw err; });

标签 node.js mongodb

您好,当我运行 app.js 时,出现以下错误。无法解决问题。有人可以帮我吗

/Applications/MAMP/htdocs/simplehacker/simplehacker-us/node_modules/mongodb/lib/utils.js:98
process.nextTick(function() { throw err; });
                          ^
WriteError({"code":11000,"index":0,"errmsg":"E11000 duplicate key error index: instance.instancesmodels.$PublicDnsName_1 dup key: { : \"\" }","op":{"PublicDnsName":"","instanceId":"i-d9ff937a","reservationId":"r-60e814b6","name":"adhoc s1","region":"us-east-1b","status":"stopped","net_io":"","cpu_usage":"","_id":"56a9c6d1e86e8bff040644cb","isInUse":false,"__v":0}})
at Function.MongoError.create (/Applications/MAMP/htdocs/simplehacker/simplehacker-us/node_modules/mongodb/node_modules/mongodb-core/lib/error.js:31:11)
at toError (/Applications/MAMP/htdocs/simplehacker/simplehacker-us/node_modules/mongodb/lib/utils.js:114:22)
at /Applications/MAMP/htdocs/simplehacker/simplehacker-us/node_modules/mongodb/lib/collection.js:597:23
at handleCallback (/Applications/MAMP/htdocs/simplehacker/simplehacker-us/node_modules/mongodb/lib/utils.js:96:12)
at /Applications/MAMP/htdocs/simplehacker/simplehacker-us/node_modules/mongodb/lib/bulk/unordered.js:470:9
at handleCallback (/Applications/MAMP/htdocs/simplehacker/simplehacker-us/node_modules/mongodb/lib/utils.js:96:12)
at resultHandler (/Applications/MAMP/htdocs/simplehacker/simplehacker-us/node_modules/mongodb/lib/bulk/unordered.js:417:5)
at /Applications/MAMP/htdocs/simplehacker/simplehacker-us/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:780:13
at [object Object].Callbacks.emit (/Applications/MAMP/htdocs/simplehacker/simplehacker-us/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:95:3)
at [object Object].messageHandler (/Applications/MAMP/htdocs/simplehacker/simplehacker-us/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:249:23)
at Socket.<anonymous> (/Applications/MAMP/htdocs/simplehacker/simplehacker-us/node_modules/mongodb/node_modules/mongodb-core/lib/connection/connection.js:265:22)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at Socket.Readable.push (_stream_readable.js:110:10)
at TCP.onread (net.js:523:20)

最佳答案

答案在你的第二行:WriteError:

WriteError({
  "code": 11000,
  "index": 0,
  "errmsg": "E11000 duplicate key error index: instance.instancesmodels.$PublicDnsName_1 dup key: { : \"\" }",
  "op": {
    "PublicDnsName": "",
    "instanceId": "i-d9ff937a",
    "reservationId": "r-60e814b6",
    "name": "adhoc s1",
    "region": "us-east-1b",
    "status": "stopped",
    "net_io": "",
    "cpu_usage": "",
    "_id": "56a9c6d1e86e8bff040644cb",
    "isInUse": false,
    "__v": 0
  }
})

此索引不允许写入:instance.instancesmodels.$PublicDnsName_1。 您似乎正在插入重复的 PublicDnsName (在您的情况下是一个空字符串)。

您要么必须从 PublicDnsName 索引中删除 unique 标志,要么允许稀疏索引,然后在没有名称时保留 null 值。

根据您使用的驱动程序、ORM(例如 mongoose 等),您可以在应用程序级别或数据库级别解决它。

关于node.js - Node+MongoDB - 错误 : process. nextTick(function() { throw err; });,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35055874/

相关文章:

node.js - 按数组中的最后一项排序

python - Pytest- 使用生成器进行 mark.parametrize

mongodb - MongoDB 聚合匹配结果的计数

node.js - 使用模块进行 TypeScript 转换

mysql - 连接 Node v5.10.1 时握手不活动超时错误。到 aws mysql RDS

Java:如何将 HashMap 插入 MongoDB?

javascript - 在 $group mongodb 之后获取公共(public)元素

node.js - 在 Mongoose 预中间件中,我如何访问更新查询?

node.js - underscore 的扩展函数是否递归扩展(或者可以选择这样做)?

node.js - npm 是否缓存包?