У меня есть коллекция под названием Users.
Вот пример do c.
{"_id":{"$oid":"xxxxxxxxxxxxxxxxxxx"},
"userId":"ANKIT",
"token":"token123",
"badge":{"$numberInt":"0"},
"useLocalCurrency":true,
"notifyCustomerRejected":true,
"notifyReworkRequest":true,
"notifyMoaApproved":true,
"notifyCustomerAccepted":true,
"__v":{"$numberInt":"0"},
"tokens":[]}
Я пытаюсь поместить sh token
в массив tokens
для всех документов в Миграция БД.
Вот что я пробовал:
export function up(next) {
let mClient = null;
return MongoClient.connect(url)
.then(client => {
mClient = client;
return client.db('notifications');
})
.then(db => {
const User = db.collection('users');
return User.find().forEach(result => {
let { _id, userId, tokens, token } = result;
tokens.push(token);
tokens = Array.from(new Set(tokens));
result.tokens = tokens;
console.log(result._id);
console.log(result.tokens);
User.update({ _id: _id, userId: userId }, { $set: { tokens: tokens } });
});
})
.then(() => {
mClient.close();
return next();
})
.catch(err => next(err));
}
При этом я обновляю 1-й документ только так, как хочу, а не остальные. Что я здесь не так делаю?
Спасибо