根据Meteor文档....
collection.insert(doc,[callback])回调函数可选 . 如果存在,则使用错误对象作为第一个参数并将_id作为第二个参数调用 .
......然后......
在服务器上,如果您不提供回调,则插入块直到数据库确认写入,或者如果出现错误则抛出异常 . 如果确实提供了回调,则立即返回 . 插件完成(或失败)后,将使用错误和结果参数调用回调,与方法相同 .
它是什么,错误和_id或错误和结果?我确实有Meteor.methods正确触发它们的回调错误,结果可用于范围 .
我只是无法使回调在collection.insert(doc,[callback])上正常工作
无论哪种方式,我无法让我的回调注册任何东西?
function insertPost(args) {
this.unblock;
if(args) {
post_text = args.text.slice(0,140);
var ts = Date.now();
Posts.insert({
post: post_text,
created: ts
}, function(error, _id){
// or try function(error, result) and still get nothing
// console.log('result: ' + result);
console.log('error: ' + error);
console.log('_id: ' + _id); //this._id doesn't work either
});
}
return;
}
我究竟做错了什么?我从早上2点开始编码...下午6点我的时区...我很模糊,所以我可能(可能)遗漏了一些非常明显的东西 .
干杯斯蒂夫
2 回答
这是一个错误,在下一个版本中修复 . 现在,如果您向
insert
提供回调,则将使用error
和result
参数调用它,其中result
是新文档的ID,如果出现错误则返回null .由于这是服务器端代码,您可以这样做:
并且id将可用 .