применить $ pull на вложенном массиве в MongoDB [duplicate]

Это раздел, которому назначена справочная страница для команды.

Они разделены как

  1. Общие команды
  2. Системные вызовы
  3. Функции библиотеки C
  4. Специальные файлы (обычно устройства, найденные в / dev) и драйверы
  5. Форматы файлов и условные обозначения
  6. Игры и заставки
  7. Miscellanea
  8. Команды и демоны системного администрирования

Исходные описания каждого раздела можно увидеть в руководстве пользователя Unix Programmer g0] (стр. ii).

17
задан Vince Bowdren 15 January 2016 в 14:50
поделиться

1 ответ

Ты так близко! Помните, что ваш внешний контент - это массив. Итак, следующие 2 изменения символов работают, используйте контент. $. Активы внутри значения для $ pull.

db.presentations.update(
  {'content.assets._id': ObjectId('4fc63def5b20fb722900010e')}, 
  {$pull: {'content.$.assets': {'_id': ObjectId('4fc63def5b20fb722900010e')}}}
)

Увеличение вперед.

28
ответ дан Vince Bowdren 22 August 2018 в 18:31
поделиться
  • 1
    Потрясающие! Благодаря! – Mark Gia Bao Nguyen 8 June 2012 в 15:43
  • 2
    Не работает для меня в mongo 2.2.3 :( Просто ничего не делает. – Eugene Platonov 18 August 2013 в 21:30
  • 3
    Благодаря! работайте отлично! – juancancela 25 April 2014 в 20:47
  • 4
    Спасибо, человек, который очень помог! – youssef 8 October 2014 в 17:58
  • 5
    Это работает, если только один из элементов content содержит asset с _id: ObjectId('4fc63def5b20fb722900010e'), потому что $ будет соответствовать только первому событию. Любая идея, как удалить элемент из нескольких content.assets? Спасибо – Cohars 22 March 2017 в 15:59
Другие вопросы по тегам:

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