簡體   English   中英

作為MongoClient.connect()fn的options參數提供的自定義pkFactory對象不用於在文檔中創建ObjectID

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM