Node.js 作为MongoClient.connect()fn的选项参数提供的自定义pkFactory对象不用于在文档中创建ObjectID
自定义pkFactory的定义如下,它作为MongoClient.connect的参数提供,MongoClient.connect不用于创建objectIdNode.js 作为MongoClient.connect()fn的选项参数提供的自定义pkFactory对象不用于在文档中创建ObjectID,node.js,mongodb,Node.js,Mongodb,自定义pkFactory的定义如下,它作为MongoClient.connect的参数提供,MongoClient.connect不用于创建objectId CustomPKFactory = function() {} CustomPKFactory.prototype = new Object(); CustomPKFactory.createPk = function() { console.log("CUSTOM_PK_FACTORY"); return Date.now().toStr
CustomPKFactory = function() {}
CustomPKFactory.prototype = new Object();
CustomPKFactory.createPk = function() {
console.log("CUSTOM_PK_FACTORY");
return Date.now().toString();
}
MongoClient.connect(mongoUri, {pkFactory: CustomPKFactory}, function(err, mongodb) {
if(!err) {
startApp(mongodb);
console.log("mongoclient.connect");
} else {
console.log('unable to connect to mongodb: err = ' + err);
process.exit(3);
}
});
将文档插入到集合中时,预期的console.logCUSTOM\u PK\u FACTORY语句不会被执行。nodejsmongodb驱动程序版本mongodb@1.4.22已使用。您需要在db参数中指定pkFactory,而不是在顶级。例如,您可以将连接线更改为以下内容:
MongoClient.connect(mongoUri, {db: {pkFactory: CustomPKFactory}}, function(err, mongodb) {
...
}
文档不清楚,因为指定文档的方式因使用MongoClient构造函数或MongoClient.connect而有所不同。详情如下: