Meteor-collections
提供:Dev Guides
流星-コレクション
この章では、 MongoDB コレクションの使用方法を学習します。
コレクションを作成する
次のコードで新しいコレクションを作成できます-
meteorApp.js
MyCollection = new Mongo.Collection('myCollection');
データを追加
コレクションが作成されたら、 insert メソッドを使用してデータを追加できます。
meteorApp.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.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.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.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.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.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.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);
}
コマンドウィンドウからデータが削除されていることがわかります。