sql >> Databáze >  >> NoSQL >> MongoDB

$push v MongoDb nefunguje?

Představte si, že máte tuto sbírku:

/* 1 */
{
    "_id" : ObjectId("565425e862760dfe14339ba8"),
    "profile" : {
        "experience" : [ 
            {
                "exp" : "Experto"
            }
        ]
    }
}

/* 2 */
{
    "_id" : ObjectId("565425f562760dfe14339ba9"),
    "profile" : {
        "experience" : {
            "exp" : "Experto"
        }
    }
}

/* 3 */
{
    "_id" : ObjectId("5654260662760dfe14339baa"),
    "profile" : {
        "experience" : "Experto"
    }
}

Pokud to zkusíte (aktualizovat dokument /* 2 */):

db.profile.update(
   { _id: ObjectId("565425f562760dfe14339ba9") },
   { $push: { "profile.experience" : { exp : "Intermediate" } } }
)

Zobrazí se tato chyba:

A pokud to zkusíte (aktualizovat dokument /* 3 */):

db.profile.update(
   { _id: ObjectId("5654260662760dfe14339baa") },
   { $push: { "profile.experience" : { exp : "Intermediate" } } }
)

Získáte:



  1. Přidejte více hodnot pomocí operátoru $addToSet Mongo

  2. Skript MongoDB pro zálohování replikace je nastaven lokálně na Windows Server

  3. MongoDB špatný výkon zápisu ve velkých sbírkách s více než 50 000 000 dokumenty

  4. Začínáme s operační databází Cloudera Data Platform (COD)