Я хочу сохранить данные в коллекции mongo, если данные уже отсутствуют, что может быть проверено некоторыми полями.
Я думаю, что не могу использовать монго save()
или insert()
, поэтому я перешел на монго update()
с upsert: true
.
запущен запрос:
const query = {
$and: [
{ invitationTo: { $ne: some.invitationTo } },
{ invitationBy: { $ne: some.invitationBy } },
{ listingId: { $ne: some.listingId } }
]
}
const options = {
upsert: true
}
db.contactRequests.update(query, contactRequestsVal, options)
Мне здесь не повезло. Предложите мне правильный способ сделать это, если это возможно в одном запросе .
Коллекция contactRequests содержит:
invitationTo: {
type: mongoose.Schema.Types.ObjectId,
ref: 'users'
},
invitationBy: {
type: mongoose.Schema.Types.ObjectId,
ref: 'users'
},
listingId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'listings'
},
message: {
type: String,
required: true
},
attachment: {
type: String
}