Здесь я хочу обновить 1 поле для всех элементов в массиве объектов . Как обновить это поле только одним запросом, не зацикливая и не обновляя каждый из элементов или не сканируя всю базу данных и не сопоставляя ее?
Схема моей модели:
let NameCardSchema = mongoose.Schema({
fullname: {
type: String,
required: true
},
occupation: {
type: String,
default: null
},
company: {
type: String,
default: null,
},
position: {
type: String,
default: null,
},
userID: [String] // field to update
});
Пример данных:
User:
_id:5b8e4c6a879ac54ee0f30bb3
username:"Duc"
Namecard array:
[
namecard1:
_id:5b9615c6b157af5afc8ce426
occupation:null
company:"KIS"
position:"Developer"
fullname:"Duc Nguyen Trung"
userID:"5b9a173f0749c52b583818ec"
namecard2:
_id:5b96162fb157af5afc8ce428
occupation:null
company:"KIS"
position:"Developer"
fullname:"Hieu Vuong"
userID:"5b9a16700749c52b583818ea"
]
Ожидаемый результат:
[
namecard1:
_id:5b9615c6b157af5afc8ce426
occupation:null
company:"KIS"
position:"Developer"
fullname:"Duc Nguyen Trung"
userID:"5b9a173f0749c52b583818ec", "5b8e4c6a879ac54ee0f30bb3" // username Duc's ID added
namecard2:
_id:5b96162fb157af5afc8ce428
occupation:null
company:"KIS"
position:"Developer"
fullname:"Hieu Vuong"
userID:"5b9a16700749c52b583818ea", "5b8e4c6a879ac54ee0f30bb3" // username Duc's ID added
]