sql >> データベース >  >> NoSQL >> MongoDB

MongoClient v3.0を使用する場合、db.collectionは関数ではありません

    MongoDBネイティブNodeJSドライバーのバージョン3.0を使用している場合:

    (これは、 "mongodb": "^ 3.0.0-rc0"、またはpackage.jsonのそれ以降のバージョンを使用していて、最新バージョンを引き続き使用したい場合に適用されます。)

    MongoDBネイティブNodeJSドライバーのバージョン2.xでは、接続コールバックへの引数としてデータベースオブジェクトを取得します。

    MongoClient.connect('mongodb://localhost:27017/mytestingdb', (err, db) => {
      // Database returned
    });
    

    3.0の変更ログによると、代わりにデータベースオブジェクトを含むクライアントオブジェクトを取得します。

    MongoClient.connect('mongodb://localhost:27017', (err, client) => {
      // Client returned
      var db = client.db('mytestingdb');
    });
    

    close() メソッドもクライアントに移動されました。したがって、質問のコードは次のように翻訳できます。

    MongoClient.connect('mongodb://localhost', function (err, client) {
      if (err) throw err;
    
      var db = client.db('mytestingdb');
    
      db.collection('customers').findOne({}, function (findErr, result) {
        if (findErr) throw findErr;
        console.log(result.name);
        client.close();
      });
    }); 
    


    1. CentOS8へのMemcachedのインストール

    2. Mongodbはサブ配列内を検索します

    3. DockerComposeを使用してMongoDBとRedpandaのアプリケーションを開発する方法

    4. 参照するためのMongoDBのベストプラクティス