[英]Custom pkFactory object provided as the options argument to MongoClient.connect() fn is not used to create ObjectID in the documents
自定義pkFactory定義如下,它作為MongoClient.connect()的參數提供,它不用於創建objectId
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.log( “CUSTOM_PK_FACTORY” )語句。 使用nodejs mongodb驅動程序版本mongodb@1.4.22。
您需要在db參數中指定pkFactory,而不是在頂級。 例如,您可以將連接線更改為以下內容:
MongoClient.connect(mongoUri, {db: {pkFactory: CustomPKFactory}}, function(err, mongodb) {
...
}
文檔不清楚,因為您指定它的方式因使用MongoClient構造函數還是MongoClient.connect而異。 更多信息: https : //mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.