簡體   English   中英

NodeJS MongoDB驅動程序不兼容問題

[英]NodeJS MongoDB Driver Incompatibility Issue

嘗試MongoDB和NodeJS示例:

我正在嘗試從名為Reddit的站點導入現有的JSON:Mongo版本:

AMAC02PC0PHG3QP:轉儲macadmin $ mongo --version

MongoDB Shell版本:3.0.6

Mongo驅動程序版本: 名稱:mongodb版本:1.3.23

貓鼬版本名稱:貓鼬版本:4.1.11

請求來自: http://www.reddit.com/r/technology/.json : http://www.reddit.com/r/technology/.json

我的app.js代碼如下:

var MongoClient = require('mongodb').MongoClient;
var request = require('request');

MongoClient.connect('mongodb://localhost:27017/course', function(err, db){
    if(err) throw err;

    request('http://www.reddit.com/r/technology/.json', function(error, response, body){
        if (!error && response.statusCode == 200) {

            var obj = JSON.parse(body);

            var stories = obj.data.children.map(function(story){
                return story.data
            });

            // We got all our stories here.

            db.collection('reddit').insert(stories, function(err, data){
                console.dir("#############here");
                if(err) throw err;

                console.dir(data);

                db.close();
            });

        }
    });
});

當我跑步時:

node app.js

當代碼到達插入查詢時出現此錯誤:

MongoError: driver is incompatible with this server version
    at Object.toError (/Users/macadmin/Desktop/NodeJS_MongoDB/12_NodeJS_MongoDB_Importing_From_Other_Source/node_modules/mongodb/lib/mongodb/utils.js:110:11)
    at __executeInsertCommand (/Users/macadmin/Desktop/NodeJS_MongoDB/12_NodeJS_MongoDB_Importing_From_Other_Source/node_modules/mongodb/lib/mongodb/db.js:1829:27)
    at Db._executeInsertCommand (/Users/macadmin/Desktop/NodeJS_MongoDB/12_NodeJS_MongoDB_Importing_From_Other_Source/node_modules/mongodb/lib/mongodb/db.js:1930:5)
    at insertAll (/Users/macadmin/Desktop/NodeJS_MongoDB/12_NodeJS_MongoDB_Importing_From_Other_Source/node_modules/mongodb/lib/mongodb/collection/core.js:205:13)
    at Collection.insert (/Users/macadmin/Desktop/NodeJS_MongoDB/12_NodeJS_MongoDB_Importing_From_Other_Source/node_modules/mongodb/lib/mongodb/collection/core.js:35:3)
    at Request._callback (/Users/macadmin/Desktop/NodeJS_MongoDB/12_NodeJS_MongoDB_Importing_From_Other_Source/app.js:18:37)
    at Request.self.callback (/Users/macadmin/Desktop/NodeJS_MongoDB/12_NodeJS_MongoDB_Importing_From_Other_Source/node_modules/request/request.js:198:22)
    at emitTwo (events.js:87:13)
    at Request.emit (events.js:172:7)
    at Request.<anonymous> (/Users/macadmin/Desktop/NodeJS_MongoDB/12_NodeJS_MongoDB_Importing_From_Other_Source/node_modules/request/request.js:1082:10)

我刪除了mongodb模塊,並將其更新到最新版本一次。

AMAC02PC0PHG3QP:12_NodeJS_MongoDB_Importing_From_Other_Source macadmin$ npm install mongodb@latest
npm WARN package.json intro_to_npm@0.0.0 No repository field.
npm WARN package.json intro_to_npm@0.0.0 No README data
npm WARN package.json intro_to_npm@0.0.0 license should be a valid SPDX license expression
-
> kerberos@0.0.15 install /Users/macadmin/Desktop/NodeJS_MongoDB/12_NodeJS_MongoDB_Importing_From_Other_Source/node_modules/mongodb/node_modules/mongodb-core/node_modules/kerberos
> (node-gyp rebuild) || (exit 0)

  CXX(target) Release/obj.target/kerberos/lib/kerberos.o
  CXX(target) Release/obj.target/kerberos/lib/worker.o
  CC(target) Release/obj.target/kerberos/lib/kerberosgss.o
../lib/kerberosgss.c:509:13: warning: implicit declaration of function
      'gss_acquire_cred_impersonate_name' is invalid in C99
      [-Wimplicit-function-declaration]
        maj_stat = gss_acquire_cred_impersonate_name(&min_stat,
                   ^
1 warning generated.
  CC(target) Release/obj.target/kerberos/lib/base64.o
  CXX(target) Release/obj.target/kerberos/lib/kerberos_context.o
  SOLINK_MODULE(target) Release/kerberos.node
mongodb@2.0.46 node_modules/mongodb
├── es6-promise@2.1.1
├── readable-stream@1.0.31 (isarray@0.0.1, string_decoder@0.10.31, core-util-is@1.0.1, inherits@2.0.1)
└── mongodb-core@1.2.19 (bson@0.4.19, kerberos@0.0.15)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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