import {Mongo} from 'meteor/mongo';
export const play = new Mongo.Collection('play');
Meteor.methods({
'play.insert':(value)=>{
let doc_id = play.insert({value});
console.log(doc_id);
}
});
调用此方法时,客户端和服务器端都具有相同的doc_id。 这怎么可能?服务器如何知道客户端使用了什么? 因为当在服务器中调用play.insert({value})时,{value}没有_id,服务器"如何知道"要使用哪个ID?
答案 0 :(得分:1)
根据官方流星指南
每个Meteor Method调用与调用Method的客户端共享一个随机生成器种子,因此客户端和服务器方法生成的任何ID都保证相同。这意味着您可以安全地使用客户端上生成的ID在将Method发送到服务器时执行操作,并确保在Method完成时ID将相同。这种情况特别有用的一种情况是,如果要在数据库中创建新文档,则立即重定向到包含该新文档ID的URL。
如果您想了解更多相关信息,可以查看Meteor指南的this部分。