提问者:小点点

在mongoose中,如果字段的值达到0,则减少字段并删除整个对象


我正在尝试创建一个聊天室机制,为此我使用了nodejs,mongodb和Mangoose。如果“计数”字段达到“0”,我想删除整行。

到目前为止,我已经有了这个函数,它成功地增加和减少了count字段,但是当count=0时,想要删除对象。我如何才能实现这一点使用下面的方法。

function addOrRemoveFromRoom(mRoom, userCount) {
        ModelRooms.findByIdAndUpdate(mRoom.id, {
            $inc: { count: userCount },
            $addToSet: {
                "users": {
                    $each: [mUser],
                }
            }
        }, { returnOriginal: false }, function (err, doc) {
            if (err) {
                logger.error("Error occured", err);
            }
            else {
                logger.info("Success", mRoom.roomName);                
            }
        });
    }

这是我的架构

let roomsSchema = new mongoose.Schema({
    roomName: String,
    count: {
        type: Number,
        min: 0
    },
    createdAt: {
        type: Date,
        default: Date.now
    },
    users: [
        {
            userId: String,            
            created: {
                type: Date,
                default: Date.now
            }
        }
    ]
});

如果计数字段达到0(零),如何删除整个对象


共1个答案

匿名用户

 check the link below

点击这里