Meteor开发平台入门 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

插入文档 - Collection.insert

使用集合对象的insert(doc,[callback])方法向集合中插入数据(JSON对象)。下面 的示例创建persons集合并插入一个新的文档:

var demo = new Mongo.Collection("persons");
demo.insert({name:"Jason",age:28});

≡ 使用方法

insert()方法的主要参数如下:

  • doc - 用来指定作为数据的JSON对象
  • callback - 用来指定一个回调函数function(error,result){...},当插入完成时 callback参数指定的回调函数将被调用

后端调用该方法时,如果不指定callback参数,将阻塞执行直至插入完成,或者在发生 错误时抛出异常;前端不支持同步阻塞方式的执行,因此如果不设置callback参数,将 无法捕捉错误和执行结果。

不过,无论是否使用callback参数,insert()方法都将返回新插入文档的id编号。

≡ 使用场景

对于一对前后端的同名数据集,如果在前端执行的insert()会自动同步到后端(通过 RPC机制),而后端执行的insert()会自动同步到前端(通过pub/sub机制)。因此,如果 有多个前端连接到同一个后端,那么在其中任何一个前端执行的插入操作,将实时同步到 所有的前端和后端。

在下面的聊天室应用中,任何一个前端插入的消息,会实时出现在其他前端:

insert-scenario

执行以下命令复位test应用、删除源文件:

~/test$ meteor reset↵ ~/test$ rm -rf \*↵

执行以下命令拷贝col-insert示例代码、运行并查看运行结果:

~/test$ cp ~/demos/col-insert/* .↵ ~/test$ meteor↵

理解并修改col-insert示例代码,通过练习掌握Collection对象的insert方法在 前端和后端的差异之处。