当我使用nodejs操作mongodb时,读取数据和更新数据都是正常的,就是在插入数据时,报错了,提示:
{ MongoError: Cannot read property 'maxBsonObjectSize' of null
at Function.MongoError.create (C:\Users\Administrator\AppData\Roaming\npm\node_modules\mongodb\node_modules\mongodb-core\lib\error.js:31:11)
at toError (C:\Users\Administrator\AppData\Roaming\npm\node_modules\mongodb\lib\utils.js:114:22)
at C:\Users\Administrator\AppData\Roaming\npm\node_modules\mongodb\lib\collection.js:656:23
at handleCallback (C:\Users\Administrator\AppData\Roaming\npm\node_modules\mongodb\lib\utils.js:96:12)
at resultHandler (C:\Users\Administrator\AppData\Roaming\npm\node_modules\mongodb\lib\bulk\ordered.js:429:14)
at C:\Users\Administrator\AppData\Roaming\npm\node_modules\mongodb\node_modules\mongodb-core\lib\wireprotocol\2_4_support.js:473:9
at _combinedTickCallback (internal/process/next_tick.js:67:7)
at process._tickCallback (internal/process/next_tick.js:98:9)
name: 'MongoError',
message: 'Cannot read property 'maxBsonObjectSize' of null',
driver: true,
code: 14,
index: 0,
errmsg: 'Cannot read property 'maxBsonObjectSize' of null',
getOperation: [Function],
toJSON: [Function],
toString: [Function] }
有哪位朋友遇到过这个问题吗?
PHP中文网2017-04-17 14:52:47
ここでの maxBsonObjectSize はデータベース ドキュメント内のフィールドですか?その場合、maxBsonObjectSize に値を挿入したくない場合でも、データを挿入するときは、空の文字列 ''、空の配列 [] などの null 値を指定する必要があります。
大家讲道理2017-04-17 14:52:47
コールバックを挿入する前に、データベースを閉じるリンクが閉じられているかどうかを確認してください。
MongoClient.connect(uri, function (err, db) {
if (エラー) {
エラーをスローします。
} それ以外 {
console.log("データベースに正常に接続されました");
//MongoDb コレクションにドキュメントを挿入
var document = {タイトル:'テスト',カテゴリ:'node.js'}
db.collection('tut').insert(document, function(err,records){
//if (err) エラーをスローします。
console.log('挿入されたレコード ID: ' + records[0]._id);
});
}
// @警告: ここで何か問題が発生します。
db.close();
});
db.close();
を挿入コールバックに配置する必要があります。このように:
MongoClient.connect(uri, function (err, db) {
if (エラー) {
エラーをスローします。
} それ以外 {
console.log("データベースに正常に接続されました");
//MongoDb コレクションにドキュメントを挿入
var document = {タイトル:'テスト',カテゴリ:'node.js'}
db.collection('tut').insert(document, function(err,records){
//if (err) エラーをスローします。
console.log('挿入されたレコード ID: ' + records[0]._id);
// ###このように、呼び出しに入れて接続を閉じます
db.close();
});
}
});