При выполнении QueryStream для такой модели, как
User.find({}).stream().on('data', (user) => {
request.post(someOptions, (error, response, body) => {
if(!error && response.statusCode === 200) {
user.someProperty = body.newValue;
user.save((err) => {
if (err) console.log(err)
});
} else {
console.log(error);
console.log(response);
}
}).on('end', () => {
console.log('all users have new values');
});
Я получаю вывод консоли для события завершения и затем получаю сообщение об ошибке:
all users have new values
TypeError: user.save is not a function
at Request._callback
Я предполагаю, что это означает, что функция request.post выполняется слишком много раз, так как я пытался сделать это без потока и просто
.find({} (err, users) => {
for(user in users) {
request.post...
}
});
но это возвращало неверный код состояния из API, который я публикую, так как request.post()
отправлял значение undefined
в опциях, которые я передаю, которые я получаю из пользовательского документа, даже если все документы есть определенные значения. Хотя я не получил ошибку, потому что сохранение не было функцией.
Может кто-нибудь пролить свет на то, что происходит?