ホームページ  >  に質問  >  本文

node.js - 使用nodejs往mongodb中插入数据时出错

当我使用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] }
有哪位朋友遇到过这个问题吗?

高洛峰高洛峰2764日前556

全員に返信(2)返信します

  • PHP中文网

    PHP中文网2017-04-17 14:52:47

    这里的maxBsonObjectSize是不是数据库文档里的一个字段?如果是的话,就算你不想在maxBsonObjectSize插入值,在插入数据时也要给它一个空值,例如空字符串'',空数组[]等。

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-17 14:52:47

    看看是不是在插入回调之前把关闭数据库链接关闭了。

    MongoClient.connect(uri, function (err, db) {
        if (err) {
            throw err;
        } else {
            console.log("successfully connected to the database");
    
            // Insert document in MongoDb Collection
                    var document = {title:'test',category:'node.js'}
    
                    db.collection('tut').insert(document, function(err,records){
                            //if (err) throw err;
                            console.log('inserted record id: ' + records[0]._id);
                      });
        }
        // @Warning: 这里会出错!
        db.close();
    });

    db.close();应该放在插入的回调里。像这样:

    MongoClient.connect(uri, function (err, db) {
        if (err) {
            throw err;
        } else {
            console.log("successfully connected to the database");
    
            // Insert document in MongoDb Collection
            var document = {title:'test',category:'node.js'}
    
            db.collection('tut').insert(document, function(err,records){
                //if (err) throw err;
                console.log('inserted record id: ' + records[0]._id);
                // ###像这样,放在会调里关闭连接
                db.close();
            });
        }
    });

    返事
    0
  • キャンセル返事