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

mongodbで動的ドキュメントキーを作成する方法

    ブラケット表記 を使用します ドキュメントを動的に作成します。最初にキーを保持する空のオブジェクトを作成してから、角かっこ表記を使用して動的フィールドをオブジェクトに追加する必要があります。

    insertData_dynamic_colone: function(collection, colone1, colone2) {
        var obj = {};
        obj[colone1] = "14";
        obj[colone2] = "15";
        dbObject.collection(collection).insertOne(obj, function(err, result) {
            assert.equal(err, null);         
        });
    }
    

    または

    insertData_dynamic_colone: function(collection) {
    
        var obj = {},
            colone1 = "prod",
            colone2 = "prod2";
        obj[colone1] = "14"; // bracket notation
        obj[colone2] = "15";
    
        dbObject.collection(collection).insertOne(obj, function(err, result) {
            assert.equal(err, null);         
        });
    }
    

    または、ES2015オブジェクト初期化子 を使用できます。 構文(コメントで@ xmikex83によって指摘されているように):

    insertData_dynamic_colone: function(collection) {
    
        var colone1 = "prod";
        var colone2 = "prod2";
        dbObject.collection(collection).insertOne({
            [colone1] : "14", // Computed property names (ES6)
            [colone2] : "15"
        }, function(err, result) {
            assert.equal(err, null);         
        });
    }
    


    1. $lookup結果の$match

    2. DjangoCeleryがタスク数を取得

    3. MongoDB $ substrBytes

    4. $ geoNear(集約パイプライン)が正しいドキュメントを返さない