sql >> Database >  >> NoSQL >> MongoDB

hoe dynamische documentsleutels te maken in mongodb

Gebruik de haakjesnotatie om het document dynamisch op te bouwen. U moet eerst een leeg object maken dat de toetsen bevat en vervolgens de haakjesnotatie gebruiken om de dynamische velden aan het object toe te voegen:

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);         
    });
}

of

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);         
    });
}

Of u kunt ES2015 Object initializer gebruiken syntaxis (zoals aangegeven door @xmikex83 in opmerkingen):

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. Mongo Connection Pooling (De grootte van de verbindingspool wijzigen)

  2. Wat is het verschil tussen MongoTemplate en MongoRepository van Spring Data?

  3. Hoe hervat hash-slots van een bepaald knooppunt in redis-cluster in geval van een harde storing?

  4. MongoDB:meerdere collecties bevragen met twee zoekopdrachten?