Найти по идентификатору, но обновить подсхему - PullRequest
0 голосов
/ 10 октября 2018

Итак, я создал следующую модель с подсхемой (allocAndLocationSchema).В каждой MovementSchema будет много встроенных распределений выделения и локализации.Мне нужно обновить отдельные allocAndLocationSchemas и сохранить их в модели.

Я пытался выполнить forEach для подсхемы, но обновление, похоже, не работает.Есть ли простое решение для поиска модели по идентификатору (созданныйByUserID) и подсхемы по идентификатору пользователя, а затем обновить ее широту и долготу?

Модель и подсхема:

var allocationAndLocationSchema = new Schema({
    roleID: String,
    roleTitle: String,
    userID: String,
    latitude: String,
    longitude: String,
    lastUpdated: Date
});

var MovementSchema = new Schema({
    dateCreated: Date,
    createdByUserID: String,
    dateEdited: Date,
    allocationAndLocation: [allocationAndLocationSchema]
});

1 Ответ

0 голосов
/ 10 октября 2018

это просто сырье, так что возьмите идею из этого.

MovementSchema.findByIdAndUpdate ({созданныйByUserID: req.body.createdByUserID, 'allocAndLocation.userID': req.body.userID}, {$ set: {allocAndLocation. $. Longitude: req.bodyAocitude,. $. latitude: req.body.latitude}, function (err, res) {// функция обратного вызова}

...