Запрос MongoDB для добавления уникального объекта определенного типа & ldquo; type & rdquo; для массива с $ addToSet [дубликат]

Да, исходная папка не находится в пути Python, если вы cd в каталоге тестов.

У вас есть 2 варианта:

  1. Добавьте путь к тестовым файлам вручную, например:
    import sys, os
    myPath = os.path.dirname(os.path.abspath(__file__))
    sys.path.insert(0, myPath + '/../')
    
  2. Запустите тесты с помощью env var PYTHONPATH=../.
58
задан Jaap 12 September 2014 в 14:30
поделиться

1 ответ

Вы можете присвоить свой update объект запроса, который предотвращает обновление, если name уже присутствует в profile_set. В оболочке:

db.coll.update(
    {_id: id, 'profile_set.name': {$ne: 'nick'}}, 
    {$push: {profile_set: {'name': 'nick', 'options': 2}}})

Таким образом, это будет выполнять только $push для документа с сопоставлением _id и где нет элемента profile_set, где name есть 'nick'.

78
ответ дан JohnnyHK 27 August 2018 в 20:09
поделиться
Другие вопросы по тегам:

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