MongoDB $ push / $ addToSet для объекта массива [дубликат]

Другое решение. Вы можете просто перебирать объектные ключи так, вы должны сначала создать экземпляр объекта:

printTypeNames<T>(obj: T) {
    const objectKeys = Object.keys(obj) as Array<keyof T>;
    for (let key of objectKeys)
    {
       console.Log('key:' + key);
    }
}
28
задан mostafiz rahman 15 December 2016 в 07:42
поделиться

2 ответа

Возможно, что-то вроде этого, где ID - ваш ObjectId. Первый {} необходим для идентификации вашего документа. Не требуется использовать ObjectId, если у вас есть еще один уникальный идентификатор в вашей коллекции.

db.collection.update(
    { "_id": ID, "playlists._id": "58"},
    { "$push": 
        {"playlists.$.musics": 
            {
                "name": "test name",
                "duration": "4.00"
            }
        }
    }
)
49
ответ дан Neil Lunn 19 August 2018 в 11:57
поделиться
  • 1
    Здравствуй. Вы не указываете плейлист _id. У меня есть несколько плейлистов, каждый пользователь – balkondemiri 10 January 2015 в 12:41
  • 2
    Хм, пропустил это. Я обновил свой ответ. – Thomas Bormans 10 January 2015 в 12:50
  • 3
    Я сейчас пытаюсь. Этот код не работает :( – balkondemiri 10 January 2015 в 18:58
  • 4
    @balkondemiri Это возможно. Я не могу проверить это, так что это было предположение. Тем не менее он должен поставить вас в правильном направлении. – Thomas Bormans 10 January 2015 в 19:36
  • 5
    Всем спасибо. Я обновляю свой запрос. {& quot; _id ": ObjectId (" 54ad6c115e03635c0c000029 ")," плейлисты ._id ": 58} – balkondemiri 11 January 2015 в 07:19
0
ответ дан adflytec 31 October 2018 в 00:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: