У меня есть массив в моей базе данных Монго с моими пользователями. При регистрации я добавляю нового пользователя (объект) в этот массив пользователей. В то же время я хочу создать ObjectID
для этого нового пользователя и создать атрибут created_at
с датой его создания
let NewUserStructure = {
_id: ObjectID(),
username: NewUserUsername,
nome: NewUserName,
password: password,
logado: false,
especialidades: EspecialidadesArray,
adm: isadmin,
cuidade: [],
$currentDate: {criadoem: true},
criadopor: createdby,
};
// let query = {_id: '5b193acdfb6fc05a6fe42785'};
let query = {Profissionais: {$exists: true}};
let NewValue = {$addToSet: {Profissionais: NewUserStructure}};
nosqlquery.update('usuarios', query, NewValue, function(result) {
res.status(200).send(result);
});
Я создал универсальную функцию для метода обновления в другом файле
const update = function(targetcollection, query, NewValues, callback) {
console.log('update was called');
_db.collection(targetcollection).updateOne(query, NewValues, function(err, result) {
if (err) throw err;
callback(result);
});
};
NewUserStructure
- это json, который я вставляю в массив Profissionais, используя $addToSet
. Я пытался создать этот уникальный ObjectID и новый атрибут с помощью currentDate разными способами.
Ошибка: $currentDate is not valid for storage.
Мне кажется, что создание поля _id
с ObjectID()
не создаст уникальный _id для пользователя, есть ли другой подход для этого?