Meteor集合
在本教程中,我们将学习如何使用 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); }
你可以看到,在命令窗口中删除的数据。