MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

$push в MongoDb не работи?

Представете си, че имате тази колекция:

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

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

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

Ако опитате (актуализирайте документ /* 2 */):

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

Получавате тази грешка:

И ако опитате (актуализирайте документ /* 3 */):

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

Ще получите:



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Драйвер Mongodb:липсва разделителна наклонена черта между хостове и опции

  2. Защо получавам това отхвърлено предупреждение?! MongoDB

  3. Как да напиша условие за съвпадение за стойности на масив?

  4. Преобразуване на Mongo заявка в Laravel, вложен elemMatch

  5. Mongoose:какво става с _doc?