猫鼬拯救新领域

时间:2014-05-02 22:35:51

标签: javascript node.js mongodb object mongoose

我有一个学校对象,这是一个猫鼬模型,我想做school.days [dateNow] = 1, 天是一个猫鼬对象,直到现在还没有设置。我收到此错误:"无法设置属性' 2014-05-02'未定义"

 school.days[dateNow] = 1;
 school.save();

1 个答案:

答案 0 :(得分:0)

它告诉你school.days是未定义的,属性不能分配给它。这只是JS问题而且与Mongo无关。要解决此问题,请先检查是否有school.days对象,如果没有则初始化。

if (!school.days) school.days = {};
school.days[whatever] = 1;

但是,当首先将文档插入数据库时​​,更好的解决方案可能是创建空days。因此,您只需修改它们,而不是创建新路径。这导致更好的性能。有关详细信息,请阅读此article on time series data,我相信您会发现它有用。