如何让 toJSON 在 Sails.js 中返回对象之前等待查找
How to make toJSON wait for find before returning the object in Sails.js?
>我在模型中的以下 toJSON 中运行查找,但它在查找完成之前返回对象。如何等到查找完成再触发退货?
toJSON: function() {
var obj = this.toObject();
Comment.find({
postID: obj.id
}).limit(2).sort('createdAt DESC').exec(function(err, comments) {
obj.comments = comments; //this is not reflected in return obj
if (obj.isTrue) {
//yes
} else {
//no
}
});
return obj; // obj.comments not reflected :(
}
目标是让obj.comments
在返回时处于obj
状态。
解决方案最终是在帖子和评论之间添加关联。
您可以在此处找到有关此的文档:http://sailsjs.org/#/documentation/concepts/ORM/Associations
例如,在后期模型中添加如下属性
comments: {
collection: 'comment',
via: 'postID'
},
并在注释模型中添加此属性
postId: {
model: 'hacks',
type: 'STRING',
required: true
},
添加新文档时,将评论的 postId 设置为要关联的帖子的 ID。然后在帖子控制器中查找帖子时
添加填充.populate('comments', {
limit: 3,
sort: 'createdAt DESC'
}).exec(...
相关文章:
- Javascript:firstChild对象返回undefined
- Javascript对象返回垃圾值
- 从js中的对象返回一个值
- 从Javascript类对象返回函数
- 从具有最高值的对象返回属性
- 为什么我的Date对象返回当前日期
- NodeJS fs.readdr-将回调内部作为对象返回
- Leadfoot会话对象返回promise
- 如何从对象返回可读字符串
- 日期对象和ISO日期对象返回不同的日期
- 使用JavaScript's FormData对象返回整个html
- 节点.js请求对象 - 返回响应正文以供进一步操作
- 使用 Restangular 使用 RESTful API - RESTful API 将数组作为顶级对象返回是否安全
- 带有方法的 Javascript 对象返回“没有方法'我的方法名称'”错误
- 从 Date() 对象返回 dd-mm-yyyyy
- JSON 中的日期对象返回的数据被视为字符串
- Javascript - 如何获取字符串,打印单词,字符,空格,平均单词长度的#并作为对象返回
- 如何从新对象返回值,同时保留其方法
- 如何从对象返回某些键
- 从 Javascript 中的对象返回值