Не уверен, если это возможно, но у меня есть несколько documents
в коллекции.В documents
есть дубликаты, и единственное отличие - timestamp
, например:
{
name: 'abc',
verified: false,
createdAt: 'timestamp1'
},
{
name: 'abc',
verified: false,
createdAt: 'timestamp2'
},
{
name: 'abc',
verified: false,
createdAt: 'timestamp3'
},
{
name: 'eee',
verified: false,
createdAt: 'timestamp1'
},
{
name: 'eee',
verified: false,
createdAt: 'timestamp2'
}
, как можно видеть, есть дубликаты для поля name
, но я толькохочу обновить с самых последних timestamp
, verified
до true
Но timestamp
действительно случайно поймать.
Я могу использовать update and $in
, но это будетобновить все документы, а не только тот, который содержит самую последнюю timestamp
выборку отметки времени, созданную mongoose
},
"updatedAt": {
"$date": "2018-06-08T23:39:49.310Z"
},
"createdAt": {
"$date": "2018-06-08T23:21:15.669Z"
},
. Это мой простой код, использующий $in
const names = ['abc', 'eee'];
Model.update({
'name': {
$in: names
}
}, { verified: true }, { multi: true });
Заранее спасибо за любую помощь.