我有一个这样的模式
var csData = new Schema({
csgo_number: Number,
last_updated: Number,
items: {type: Object, default: {}}
}, { minimize: false });
由于条目是一个很大的列表,我决定将其作为一个散列Map来更快地访问它。
items:{
item1: {
price: 2.00
},
item2:{
price: 1.00
},
item3:{
price: 3.00
}
}
我在一堆html中循环,当我遇到每一个新项目时,我会解析和存储它。
var item1 = 'awp'
csData.findOne({"csgo_number": 1}, function(err, csgoDB){
csgoDB.items[item1] = {
price: 2.00
}
csgoDB.save(function(err){
if(err){console.log('something went wrong')}
});
});
即使我没有收到任何错误。我的数据也没有保存。这是因为我没有新项目的_id吗?我尝试使用_id,但仍然没有保存。
1条答案
按热度按时间but5z9lq1#
从mongoose 5.1.0开始,有了一个新的类型,Map。它的作用是:
要使用它,只需:
为了得到它: