node.js - 使用nodejs往mongodb中插入数据时出错
高洛峰
高洛峰 2017-04-17 14:50:47
0
2
555

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回覆(2)
Ty80

這裡的maxBsonObjectSize是不是資料庫文件裡的一個欄位?如果是的話,就算你不想在maxBsonObjectSize插入值,在插入資料時也要給它一個空值,例如空字串'',空數組[]等。

大家讲道理

看看是不是在插入回呼之前把關閉資料庫連結關閉了。

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();
        });
    }
});
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!