node.js - Mongoose 批量插入错误

标签 node.js mongodb mongoose database

我在 node.js 上工作,我正在使用 mongoose 批量插入方法,即 model.collection.insert 在 MongoDB 中插入数据.执行此方法时会出现以下错误:

但是数据插入数据库成功了。有人能告诉我为什么会出现此错误吗?

{ [MongoError: write operation failed]
  name: 'MongoError',
  message: 'write operation failed',
  driver: true,
  code: 11000,
  writeErrors: 
   [ { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] },
     { code: [Getter],
       index: [Getter],
       errmsg: [Getter],
       getOperation: [Function],
       toJSON: [Function],
       toString: [Function] } ] }

代码如下:

mOfferCake.collection.insert(jsonArr, { continueOnError:真, 继续:真 }, onInsert);

1) mOfferCake 是模型,下面是代码:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var offerCakeSchema = new Schema({
    offer_id: {
        type: Number,
        unique: true
    }
});

var datetime = new Date();
var mm = datetime.getMonth() + 1;
if (mm < 10) {
    mm = '0' + mm;
}
var dd = datetime.getDate();
if (dd < 10) {
    dd = '0' + dd;
}
var yyyy = datetime.getFullYear();
var collectionName = 'MX_' + yyyy + '_' + mm + '_' + dd;
module.exports = mongoose.model(collectionName, offerCakeSchema);

2) jsonArr 是 JSON 对象数组

3) onInsert是回调函数

function onInsert(err, docs) {
if (err) {
console.log(err);
}
else {
    console.error("Cron bulk insert Successfully");
}

Node 版本:v4.5.0 Mongoose 版本:4.6.5

最佳答案

code: 11000,

E11000表示重复键错误索引。

您可能插入集合中已存在 _id 的文档。

关于node.js - Mongoose 批量插入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40799587/

相关文章:

node.js - 使用node.js将数据设置到firebase数据库后出现 'then'回调错误

node.js - Mongoose 只返回文档的 id

java - Mongo 更新后获取受影响的行

mongodb - 将对象数组中的数组字段连接到 mongodb 聚合中的一个字符串字段中

node.js - 使用 NodeJS 检索远程文件进行存储?

javascript - Mongoose 数组推送失败

javascript - node.js - 使用 Helm 的 socket.io(网络套接字)的正确内容安全策略

spring - 我无法在 Springboot-Kotlin 中排除 MongoAutoConfiguration (MongoSocketOpenException)

node.js - MongoDB:如何存储文件(Word、Excel 等)?

javascript - 模块导出模块不起作用