Преобразовать список в указатель узла

Я не думаю, что mongodb поддерживает этот тип выборочного восстания. У меня та же проблема, что и у LeMiz, и с помощью update (критерии, newObj, upsert, multi) не работает правильно, имея дело с «созданной» и «обновленной» меткой времени. Учитывая следующий оператор upsert:

update( { "name": "abc" }, 
        { $set: { "created": "2010-07-14 11:11:11", 
                  "updated": "2010-07-14 11:11:11" }},
        true, true ) 

Сценарий №1 - документ с именем «abc» не существует: новый документ создается с именем «name» = «abc», «created» = 2010-07-14 11:11:11, и 'updated' = 2010-07-14 11:11:11.

Сценарий №2 - документ с именем «abc» уже существует с следующее: 'name' = 'abc', 'created' = 2010-07-12 09:09:09, и 'updated' = 2010-07-13 10:10:10. После обновления документ теперь будет таким же, как результат в сценарии №1. Невозможно указать в upsert, какие поля должны быть установлены, если вставлять, и какие поля останутся в покое, если обновление.

Моим решением было создать уникальный индекс в полях critera , выполнить вставку и сразу после этого выполнить обновление только в «обновленном» поле.

0
задан karel 2 March 2019 в 10:29
поделиться

1 ответ

Нет, ваш список не является узлом *. список просто класс. То, что вы делаете, это присваиваете объект класса узлу *.

node * search(node* l, int value) {
    node * p;
    for (p = l; p != NULL; p = p -> next) {
        if (p -> data == value) return p;
    }
    return NULL;
}
0
ответ дан Muhammad Zakria 2 March 2019 в 10:29
поделиться
Другие вопросы по тегам:

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