我需要在插入文档后检索_id。 客户: Meteor.call('saveDocument', value1, value2); 在服务器 saveDocument: function (value1, value2) { MyCollection.insert({ 'value1': value1, 'value2': value2});} 我已尝试在服务器端插入
客户:
Meteor.call('saveDocument', value1, value2);
在服务器
saveDocument: function (value1, value2) { MyCollection.insert({ 'value1': value1, 'value2': value2}); }
我已尝试在服务器端插入的回调函数。这样我可以得到文档的_id,但是在回调函数里面,这样就不能返回到客户端调用:
saveDocument: function (value1, value2) { MyCollection.insert({ 'value1': value1, 'valu2': value2}, function(err, docsInserted){ console.log(docsInserted) }); //Works, but docsInserted can't return to the client. }您的客户端调用应使用async样式 – 从文档
On the client, if you do not pass a callback and you are not inside a stub, call will return undefined, and you will have no way to get the return value of the method.
Meteor.call('saveDocument', value1, value2, function(error, result){ var theIdYouWant = result; });
那么你只需从方法中返回id
saveDocument: function (value1, value2) { return MyCollection.insert({ 'value1': value1, 'valu2': value2}); }
为了很好的措施,给予这两个文档的一段时间
http://docs.meteor.com/#meteor_call
http://docs.meteor.com/#insert