猫鼬自动保存和更新预先填充的文档

时间:2019-04-10 18:45:52

标签: javascript node.js mongodb express mongoose-schema

我有两个独立的架构... Users和UserItems。 UserItems包含一个用户架构,在保存到猫鼬之前,我试图在不编辑HTTP正文请求JSON的情况下尝试保存该模式。

当前,我正在编写代码以检查HTTP正文是否包含嵌套的UserItem文档,然后提取该JSON项目的_id以便将ID保存到我的字段中。

用户架构

var UserSchema = new Schema({
    name: {
    type: String
},
email: {
    type: String,
    index: { 
        unique: true, 
        sparse: true 
    }
 });

项目架构

var UserItemSchema = new Schema({
user: {
    type: mongoose.Schema.Types.ObjectId,
    ref: 'User'
},
created_at: {
    type: Date,
    default: Date.now,
}, 
updated_at: {
    type: Date,
    default: Date.now,
}
});

从Express Endpoint更新文档:

exports.update_user_items = function(req, res) {

// reformat the body to pull out the follower ids
req.body.user = req.body.user._id

delete req.body._v

// loop all stories and then ligma nuts
var newItems = []
for(var x = 0; x < req.body.items.length; x++) {
    newItems.push(new ObjectId(req.body.items[x]._id))
}

etc.......
})

我的移动应用程序将JSON编码为前端的可用模型。我希望能够将数据传递回我的Express端点,而不必循环通过请求正文并找到_id属性来更新我的模型。

0 个答案:

没有答案