Mongoose автоматически сохраняет и обновляет предварительно заполненные документы - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть две отдельные схемы ... Users и UserItems.UserItems содержит схему Users, которую я пытаюсь сохранить, не редактируя свой JSON-запрос тела HTTP перед сохранением в mongoose.

В настоящее время я пишу код, чтобы проверить, содержит ли тело HTTP вложенный документ UserItem, а затем извлекает_id этого элемента JSON для сохранения идентификатора в моих полях.

Схема пользователя

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:

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 для обновления моей модели.

...