Node.js mongoose是否支持initializeOrderedBulkOp(),这是MongoDB-2.6中的一个新特性
Am使用mongoose-3.8.8连接到MongoDB。我在MongoShell中试用了initializeOrderedBulkOp()——MongoDB-2.6的一个新特性,得到了正确的输出。但是我不能对猫鼬做同样的事情。Node.js mongoose是否支持initializeOrderedBulkOp(),这是MongoDB-2.6中的一个新特性,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,Am使用mongoose-3.8.8连接到MongoDB。我在MongoShell中试用了initializeOrderedBulkOp()——MongoDB-2.6的一个新特性,得到了正确的输出。但是我不能对猫鼬做同样的事情。 下面是一个示例代码 var mongoose = require('mongoose'); var conn = mongoose.createConnection('mongodb://localhost:27017/testDB'); conn.on('erro
下面是一个示例代码
var mongoose = require('mongoose');
var conn = mongoose.createConnection('mongodb://localhost:27017/testDB');
conn.on('error', function callback (err,data) {
console.log('Error in connecting to DB');
});
var Schema = mongoose.Schema,
schema = new Schema({id:Number},{strict:false}),
modelObj = conn.model('', schema, 'documents');
var query = modelObj.initializeOrderedBulkOp();
我犯了一个错误
“modelObj没有“initializeOrderedBulkOp”方法”
有什么建议吗?你真的很接近了。您需要将级别降低到本机驱动程序。您可以这样做:
var query = modelObj.collection.initializeOrderedBulkOp();
从那里,您可以执行以下操作:
// queue a doc to be inserted
query.insert({ name: 'Some Name' })
// ... more inserts ...
// execute the bulk operation
query.execute(next)
但是需要注意的是,未排序的等价物,
initializeUnderedBulkop()
,在3.8.9版中似乎不存在 当我使用下面的代码“var bulk=modelObj.collection.initializeOrderedBulkOp();bulk.insert({user:“abc123”,status:“A”,points:0});bulk.insert({user:“def123”,status:“B”,points:0});bulk.execute(next);“错误是”类型错误:无法调用未定义的“insert”方法”是的,那真的很有趣。在我在Mac上使用的驱动程序中,该方法存在,但我只是在Heroku上尝试过,我得到了相同的错误。最好是在猫鼬回购协议上发行一个版本。有没有一个版本可以回拨?它失败,因为尚未建立基础连接。典型的Node.js流需要回调。是否有具有回调的版本?它失败,因为尚未建立基础连接。典型的Node.js流需要回调。类似于:```modelObj.collection.initializeOrderedBulkOp(函数(err,query){query.insert(..);})```