#javascript #mongodb #node-red
#javascript #mongodb #узел-красный
Вопрос:
Я использую Node-Red, и у меня есть скрипт, который извлекает один твит из коллекции MongoDB, но затем я хочу удалить этот документ. Это то, что у меня есть до сих пор:
let tweets = msg.payload;
let tweet = [];
for (a=1; a < tweets.length; a )
{
let n = tweets[a].payload;
tweet.push(n);
}
let x = Math.floor((Math.random() * tweets.length) 1);
msg.payload = tweet[x];
return msg;
Затем у меня есть другая функция для удаления документа из MongoDB:
let deltweet = msg.payload;
msg.payload = {payload: deltweet}
return msg.payload;
Используя mongodb3, я установил для этого значение deleteOne, но когда я передаю msg.payload, я получаю следующую ошибку:
"MongoError: BSON field 'delete.deletes.q' is the wrong type 'string', expected type 'object'"
Информация гласит: «Чтобы передать один параметр операции, используйте msg.payload в качестве вашего параметра (например, {_id: 1243})», но я не уверен, как это сделать? Любая помощь приветствуется!
Комментарии:
1. Мне удалось это исправить, выполнив
return msg;
вместо returnmsg.payload;
Я немного смущен!2. Функциональные узлы (действительно, все узлы) должны возвращать целые объекты msg, а не только значение