【问题标题】:MongoError: Invalid Operation, No operations in bulk for insertionMongoError:无效操作,没有批量插入操作
【发布时间】:2016-03-22 05:01:06
【问题描述】:

下面是我的批量插入代码。

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var UserSchema = new Schema({
    "xyz": String
}, {
    collection: 'user'
});

Api.prototype.Users = mongoose.model('Users', UserSchema);

resultData = [{
    "xyz": "abc"
}, {
    "xyz": "44545"
}, {
    "xyz": "545"
}]

Api.prototype.Users.collection.insert(resultData, function(err, data) {
    if(err) {
        console.log(err);
    } else {
        console.log("User inserted : " + data.result.n);
    }
});

但我收到此错误:MongoError: Invalid Operation, No operations in bulk

MongoError:无效操作,没有批量操作 在 Function.MongoError.create (/myapp/node_modules/mongoose/node_modules/mongodb/node_modules/mongodb-core/lib/error.js:31:11) 在 toError (/myapp/node_modules/mongoose/node_modules/mongodb/lib/utils.js:114:22)

【问题讨论】:

  • 你使用的mongo驱动是什么版本..?
  • 我也面临同样的问题
  • @williams 您已将字段定义为 abc 并插入为 xyz
  • 对不起,我已经编辑了。谢谢。
  • 你试过用猫鼬Users.create代替原生的Users.collection.insert吗?

标签: node.js mongodb mongoose node-modules node-mongodb-native


【解决方案1】:

我在尝试使用 insertMany 批量插入空数组时遇到此错误。在尝试批量插入之前,您应该检查一个空数组。

if (resultData.length > 0) {
  // do bulk insert...
}

【讨论】:

    猜你喜欢
    • 2016-03-14
    • 1970-01-01
    • 2013-01-16
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    相关资源
    最近更新 更多