проблемы параллелизма при обновлении и последующем чтении данных из mongodb с использованием mongoose

Привет, я пытаюсь создать приложение, которое обновляет данные и извлекает их из базы данных mongodb на основе идентификатора пользователя. Этот подход отлично работает для одного пользователя. Но когда я пытаюсь нажать для нескольких пользователей, скажем, 25, полученные данные кажутся нулевыми. Ниже мой код upsert

collection.update({'USER_ID': passVal.ID},
                    {'RESPONSE': Data}, { upsert: true }, function (err) {

                        if (err) {
                            console.log("Error in saving  data");

                        }
 var query = collection.findOne({'USER_ID': passVal.ID});

        query.select('RESPONSE');
        query.exec(function (err, data) {
            if (err) return handleError(err);
            console.log(data.RESPONSE);
});

})

В некоторых случаях я всегда получаю сообщение об ошибке, поскольку данные равны нулю. Я написал код чтения только в обратном вызове upsert. Я застрял здесь, любая помощь по этому поводу будет очень полезна.


person Amanda G    schedule 05.06.2013    source источник
comment
Можете ли вы уточнить, что вы подразумеваете под нажатием нескольких пользователей?   -  person Asya Kamsky    schedule 05.06.2013
comment
@AsyaKamsky: я имел в виду, когда я одновременно пытаюсь обновить данные на основе идентификатора пользователя на сервере nodejs, я не могу получить данные.   -  person Amanda G    schedule 05.06.2013
comment
если вы намерены всегда получать именно тот документ, который вы обновили, вам следует просто использовать findAndModify вместо отдельного обновления и поиска.   -  person Asya Kamsky    schedule 05.06.2013
comment
@Asya Kamsky: Сначала мне нужно вставить данные, а затем обновить их при дальнейших вызовах. Я найду и изменю, выполнив ту же операцию, что и upsert.   -  person Amanda G    schedule 05.06.2013
comment
да, он имеет те же параметры, что и обновление, насколько это возможно.   -  person Asya Kamsky    schedule 05.06.2013
comment
@Asya Kamsky: в чем разница между моим предыдущим подходом и новым. Решит ли это мою проблему записи и чтения в mongodb   -  person Amanda G    schedule 05.06.2013
comment
см. здесь: stackoverflow.com/questions/10778493/   -  person Asya Kamsky    schedule 05.06.2013