#javascript #node.js #mongodb #mongodb-atlas
#javascript #node.js #mongodb #mongodb-atlas
Вопрос:
Я хочу найти дубликаты в атласе MongoDB. Я видел примеры поиска дубликатов, но, насколько я понимаю, они не выполняли два условия. для некоторых проблем с сетью мы обнаружили дубликаты со ссылочным (refno) номером в базе данных
итак, я хочу найти дубликат refno в этих двух условиях (currentDate и transactionTypeId)
const transactionRecord = await this.tranModel.aggregate(
[{ $group:
{ _id: "$refno", count: { $sum: 1 } } }, { $match: { count: { $gt: 1 } } }
])
С помощью приведенного выше кода я смог получить все дубликаты в БД, но я хочу ограничить его условием
{ transactiontdate: currentDate, transactionTypeID: transactionTypesid });
Ответ №1:
У меня это работает
const Record = await this.tranModel.aggregate([
{
$match: { transactiontdate: currentDate, transactionTypeID: transactionTypeID }
},
{
$group: { _id: "$refno", count: { $sum: 1 } }
}, {
$match: { count: { $gt: 1 } }
}
])
if (Record != null) {
for (let i = 0; i < Record.length; i ) {
const element = Record[i]._id.toString()
tranArray.push(element)
}
}
}