如果某些字段不匹配,Mongo将保存数据

时间:2018-11-08 13:30:15

标签: mongodb mongoose nosql mongodb-query

如果数据尚不存在,我想将数据保存在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
    }

0 个答案:

没有答案