在本教程中,我们将学习如何使用 MongoDB集合。
创建集合
我们可以使用以下代码来创建一个新的集合-

meteorApp/client/main.js

MyCollection = new Mongo.Collection('myCollection');

添加数据

当集合被创建以后,我们可以通过使用 insert() 方法添加数据。

meteorApp/client/main.js

MyCollection = new Mongo.Collection('myCollection');

var myData = {
key1: "value 1...",
key2: "value 2...",
key3: "value 3...",
key4: "value 4...",
key5: "value 5..."
} MyCollection.insert(myData);

查找数据

我们可以使用 find 方法来搜索集合中的数据。

meteorApp/client/main.js

MyCollection = new Mongo.Collection('myCollection');

var myData = {
key1: "value 1...",
key2: "value 2...",
key3: "value 3...",
key4: "value 4...",
key5: "value 5..."
} MyCollection.insert(myData); var findCollection = MyCollection.find().fetch();
console.log(findCollection);
控制台将在插入之前显示数据。

我们可以通过搜索参数得到同样的结果。

meteorApp/client/main.js

MyCollection = new Mongo.Collection('myCollection');

var myData = {
key1: "value 1...",
key2: "value 2...",
key3: "value 3...",
key4: "value 4...",
key5: "value 5..."
} MyCollection.insert(myData); var findCollection = MyCollection.find({key1: "value 1..."}).fetch();
console.log(findCollection);

更新数据

下一个步骤是更新我们的数据。我们创建了收集并插入新的数据后,就可以使用 update() 方法。

meteorApp/client/main.js

MyCollection = new Mongo.Collection('myCollection');

var myData = {
key1: "value 1...",
key2: "value 2...",
key3: "value 3...",
key4: "value 4...",
key5: "value 5..."
} MyCollection.insert(myData); var findCollection = MyCollection.find().fetch();
var myId = findCollection[0]._id; var updatedData = {
key1: "updated value 1...",
key2: "updated value 2...",
key3: "updated value 3...",
key4: "updated value 4...",
key5: "updated value 5..."
} MyCollection.update(myId, updatedData); var findUpdatedCollection = MyCollection.find().fetch();
console.log(findUpdatedCollection);
控制台将显示被我们更新的集合。

删除数据

要从集合中删除数据可以通过remove()方法来完成。我们在这个例子设置ID作为参数来删除特定数据。

meteorApp/client/main.js

MyCollection = new Mongo.Collection('myCollection');

var myData = {
key1: "value 1...",
key2: "value 2...",
key3: "value 3...",
key4: "value 4...",
key5: "value 5..."
} MyCollection.insert(myData); var findCollection = MyCollection.find().fetch();
var myId = findCollection[0]._id; MyCollection.remove(myId); var findDeletedCollection = MyCollection.find().fetch();
console.log(findDeletedCollection);
控制台将显示空数组。

如果我们想从集合删除一切,可以用同样的方法,但不是ID,这里使用空对象{}. 出于服务器安全原因我们需要做这个。

meteorApp/client/main.js

if (Meteor.isServer) {

   MyCollection = new Mongo.Collection('myCollection');

   var myData = {
key1: "value 1...",
key2: "value 2...",
key3: "value 3...",
key4: "value 4...",
key5: "value 5..."
} MyCollection.insert(myData);
MyCollection.remove({}); var findDeletedCollection = MyCollection.find().fetch();
console.log(findDeletedCollection);

我们还可以通过使用其它的参数来删除数据。 如在前面的例子中,Meteor将强制我们在服务器上这样做。

meteorApp/client/main.js

if (Meteor.isServer) {

   MyCollection = new Mongo.Collection('myCollection');

   var myData = {
key1: "value 1...",
key2: "value 2...",
key3: "value 3...",
key4: "value 4...",
key5: "value 5..."
} MyCollection.insert(myData);
MyCollection.remove({key1: "value 1..."}); var findDeletedCollection = MyCollection.find().fetch();
console.log(findDeletedCollection);
}
你可以看到,在命令窗口中删除的数据。

Meteor集合的更多相关文章

  1. Nodejs----学习路线

    一:javascript基础 1.语法 2.数据类型 3.操作符 4.语句 5.函数 6.变量 7.Object 类型 8.基本包装类型 9.Global 对象 10.Math 对象 11.初始化和检 ...

  2. 【译】Meteor 新手教程:在排行榜上添加新特性

    原文:http://danneu.com/posts/6-meteor-tutorial-for-fellow-noobs-adding-features-to-the-leaderboard-dem ...

  3. 干货!IT小伙伴们实用的网站及工具大集合!持续更新!

    1.Git 还在担心自己辛辛苦苦写的代码被误删了吗?还在担心自己改错了代码不能挽回吗?还在苦恼于多人开发合作找不到一个好的工具吗?那么用Git就对 了,Git是一个开源的分布式版本控制系统,用以有效. ...

  4. 最实用的IT类网站及工具大集合[转]

    1.聚合数据 大家在开发过程中,可能会用到各种各样的数据,想找一些接口来提供一些数据.比如天气预报查询,火车时刻表查询,彩票查询,身份证查询等等.有了这个接口,直接调用即可.各种各样的API接口满足你 ...

  5. 【转】最实用的IT类网站及工具大集合

    转自:http://www.cnblogs.com/annie00/p/5753507.html 1.聚合数据 大家在开发过程中,可能会用到各种各样的数据,想找一些接口来提供一些数据.比如天气预报查询 ...

  6. Meteor 之 数据的发布于订阅(Publish and subscribe )

    发布和订阅 发布(Publication)和订阅(Subscription)是 Meteor 的最基本最重要的概念之一,但是如果你是刚刚开始接触 Meteor 的话,也是有些难度的. 这已经导致不少误 ...

  7. meteor中分页库alethes:pages用法汇总

    1.添加分页库: meteor add alethes:pages 2.新建分页: Pages = new Meteor.Pagination("collection-name") ...

  8. 【转换模型+扫描线】【UVA1398】Meteor

    The famous Korean internet company nhn has provided an internet-based photo service which allows The ...

  9. Meteor入门

    转载Meteor入门介绍   Meteor是什么 基于nodejs的实时web APP开发框架. Meteor能带来什么 简单的说,你可以用js搞定客户端.服务端的开发.另外,客户端.服务端的界限被极 ...

随机推荐

  1. Vue的 $parent,并不能准确找到上一层的控件,所以如果需要,需要填坑这个 bug,递归寻找下上级

    Vue的 $parent,并不能准确找到上一层的控件,所以如果需要,需要填坑这个 bug,递归寻找下上级 // Find components upward function findComponen ...

  2. this.$refs.tabs.activeKey ref就是vue里面的id

    this.$refs.tabs.activeKey ref就是vue里面的id

  3. 【软件构造】第八章第三节 代码调优的设计模式和I/O

    第八章第三节 代码调优的设计模式和I/O 本节学习如何通过对代码的修改,消除性能瓶颈,提高系统性能?——代码调优.面向性 能的设计模式 Outline Java调优 代码调优的概念 单例模式(Sing ...

  4. 尺取法 || POJ 2739 Sum of Consecutive Prime Numbers

    给一个数 写成连续质数的和的形式,能写出多少种 *解法:先筛质数 然后尺取法 **尺取法:固定区间左.右端点为0,如果区间和比目标值大则右移左端点,比目标值小则右移右端点               ...

  5. 日常[splay]:水题记——普通平衡树(死亡调试)

    普通平衡树,模板的不能再模板的模板题.我调了两个小时... 早先看yyb大神的blog学习splay,看的风生水起然而没有发现,大神的坑没有填……没有rank操作和k_th操作. 只能自己摸索,问问大 ...

  6. No-2.常用 Linux 命令的基本使用

    常用 Linux 命令的基本使用 01. 学习 Linux 终端命令的原因 Linux 刚面世时并没有图形界面,所有的操作全靠命令完成,如 磁盘操作.文件存取.目录操作.进程管理.文件权限 设定等 在 ...

  7. linux查看内存和释放内存

    linux: 查看内存:free -m 释放内存:echo 1 > /proc/sys/vm/drop_caches

  8. 面试奇遇 -- 原生JS

    最近几日去参加一些面试,多多少少有一些收获. 现将遇到的一些面试题,做一下分析和总结. 1.使用原生JS,不能使用递归,查找dom中所有以“<com-”开头的自定义标签tagName. < ...

  9. CF993E Nikita and Order Statistics 多项式卷积 快速傅里叶变换

    题意: 给你一个数组a1~an,对于k=0~n,求出有多少个数组上的区间满足:区间内恰好有k个数比x小.x为一个给定的数.n<=10^5.值域没有意义. 分析: 大神们都说这道题是一个套路题,真 ...

  10. C++知识点总结(纯C++!!)

    1.重载函数是否能够通过函数返回值的类型不同来区分? 不可以.因为在C++编程中,函数的返回值可以忽略(不使用其返回值),程序中调用此时函数名相同和参数相同的两个函数对编译器和程序员来说是没有办法区分 ...