将mongoose支持initializeOrderedBulkOp()这是Mongo DB - 2.6中的一个新功能

时间:2014-05-08 06:42:05

标签: node.js mongodb mongoose

使用mongoose - 3.8.8连接到Mongo DB。我尝试了initializeOrderedBulkOp() - 一个MongoDB的新功能 - 在mongo Shell中的2.6,我得到了正确的输出。但我不能用猫鼬做同样的事 这是一个示例代码

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”
对此有任何建议???

1 个答案:

答案 0 :(得分:5)

你真的很亲近。您需要将级别下拉到本机驱动程序。你可以这样做:

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)

有一点需要注意,版本3.8.9中似乎不存在未命令的等价物initializeUnOrderedBulkOp()