如果数据尚不存在,我想将数据保存在mongo集合中,可以通过某些字段进行检查。
我认为我无法使用mongo save()
或insert()
,所以我将update()
移至mongo 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
}