согласно документации, $out
заменяет всю коллекцию, если она существует, той, которую вы предоставили, поэтому, когда вы это сделаете, она заменит старую
, если ваша mongodb
версия составляет> 4,2, вы можете использовать $merge
вместо
в $merge
, он добавляет новый документ в коллекцию, если он существует, также вы можете определить поведение, если новый документ уже существует (сохраните старый или перезаписать), и если он не существует (вставьте или проигнорируйте его)
, вы можете увидеть все это в документации $ merge здесь
также вы можете найти сравнение между $ out и $ merge здесь
в вашем коде, это должно быть что-то вроде
async order(name) {
const list = await this.usersmodel.find({ name: name }).exec()
//return list
try {
if(list) {
const x = await this.usersmodel.aggregate([
{ $match: { name: name } },
{ $merge: { into: "payment" } } // you can define other options here like if the document already exists, keep the old one or not and so on, all of that you can find in the documentation
])
return "data saved in payment collection"
}
}
catch(error){
return(error.message)
}
}
надеюсь, что это поможет