每当我在Sails.js中填充一个集合时,值都会填充在modelName.associations.collectionName.value
中。 modelName.collectionName
的值总是未定义的,即使我将对象表示为JSON,所有内容都完美显示。
以文档(http://sailsjs.org/#/documentation/concepts/ORM/Associations/ManytoMany.html)中给出的多对多关系为例,如果我执行以下查询:
User.findOne(1)
.populate('pets')
.exec(function(err, owner) {...});
我会在owner.associations.pets.value
中收集宠物收藏品,但owner.pets
未定义。
这里有什么想法?
修改
我复制了文档中给出的完全相同的示例(相同的Pet.js
,User.js
和bootstrap.js
),并且我覆盖了findOne
User.js
的蓝图以这种方式:
findOne: function (req, res) {
User.findOne(req.params.id)
.populate('pets')
.exec(function(err, owner) {
if (err) return res.send(err, 500);
return res.json(owner);
});
}
正如我所料,JSON响应没问题,但如果我在exec(..)
函数内设置断点,则owner.pets
未定义。数据仅在owner.associations.pets.value
。
这可能是我的Sails.js版本吗?它是0.10.0-rc11。