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

Node.js-マングース-コレクションが存在するかどうかを確認します

    オプション2がおそらく最もクリーンです。マングースのConnectionがあると仮定します connという名前のオブジェクト mongoose.createConnectionを使用して開かれています 、ネイティブのmongo Dbにアクセスできます conn.db経由のオブジェクト 。そこからcollectionNamesを呼び出すことができます これはあなたが探しているものを提供するはずです:

    conn.db.collectionNames(function (err, names) {
        // names contains an array of objects that contain the collection names
    });
    

    コレクション名をパラメーターとしてcollectionNamesに渡すこともできます 結果を探しているものだけにフィルタリングします。

    Mongoose4.xアップデート

    Mongoose 4.xが使用するMongoDBネイティブドライバーの2.xバージョンでは、collectionNames listCollectionsに置き換えられました これはフィルターを受け入れてカーソルを返すので、次のように実行します。

    mongoose.connection.db.listCollections({name: 'mycollectionname'})
        .next(function(err, collinfo) {
            if (collinfo) {
                // The collection exists
            }
        });
    


    1. Redisでいくつかのハッシュを取得する最も効率的な方法は?

    2. EU地域のAWSに地理的に分散したMongoDBクラスター

    3. socket.ioでredis接続を再利用する方法は?

    4. マングースがインデックスを作成しない