猫鼬和嵌套数组

我的架构猫鼬和嵌套数组

let citySchema = new mongoose.Schema({ 

...

});

let countrySchema = new mongoose.Schema({

regions : [{

cities : [ref: 'City']

}]

});

问题 - 如何插入现有城市到选择的(通过_id)区。一个区域的_id是由猫鼬/ mongodb自动添加的,我不想改变它,因为它应该保持稳定。

我目前尝试了findOneAndUpdate的各种组合,但徒劳无益。我当前的查询:

Country 

.findOneAndUpdate({

_id : knownCountryId,

'regions._id' : knownRegionId

},{

$push : { 'regions.$.cities' : existingCity._id }

},{

select : {

'regions' : {

$elemMatch : {

_id : knownRegionId

}

}

}

}).exec();

任何提示?

回答:

findOneAndUpdate查询是正确的。测试中存在的问题是缓存了Country对象的过时值。

以上是 猫鼬和嵌套数组 的全部内容, 来源链接: utcz.com/qa/265874.html

回到顶部