var urlSchema = new Schema ({
url : String,
visitor : [{name: String,date: Date}],
counter : Number
});
var url = mongoose.model('url',urlSchema);
var domain = blah blah;
var conditions = { url: domain };
var update = { $inc : {counter:1},
$push : { visitor: [{
name: data.username,
date: new Date()
}]
}
};
var options = {upsert: true};
url.update(conditions,update,options,function(err){
if(err){
console.log(err);
}else{
console.log('A domain successfully added to DB');
}
В настоящее время я использую схему и код выше, чтобы создать счетчик доступа для каждой страницы. Он обновляет документы URL, которые подсчитывают общий доступ и сохраняют информацию о пользователе. пока что так хорошо. Он работает правильно.double upsert in Node.js and mongoose
Теперь я хочу добавить «счетчик: число» в массив посетителей и когда событие происходит, если пользователь уже находится в массиве посетителей, я хочу обновить его, а не нажимать новый. Но я не знаю, как сделать команду «double upsert». есть все равно, чтобы это сделать?