スキーマでは、キー名を宣言する必要があります。コレクション 2 スキーマにキーと値のペア オブジェクトを格納できます。
Meteor.mytable = new Meteor.Collection2('mytable', {
schema: {
name: {
type: String,
label: "name",
optional:true
},
the_object:{
type: [Object],
label:" Storing the list objects ",
optional:false
},
"the_object.$.label": {
type: String,
optional: true
},
"the_object.$.title": {
type: String,
optional: true
},
}
});
以下のように挿入クエリを使用できるようになりました
Meteor.mytable.insert({name:"name",the_object:[{label:value,title:value},{label:value,title:value}]);
Meteor.mytable.insert({name:"name",the_object:[{label:"testLable1",title:"testTitle1"},{label:"testLable2",title:"testTitle2"}]);
以下のように私のコードでcollection2を宣言しています。サンプルコードを参照してください
Actions = new Meteor.Collection("actions");
var Schemas = {};
Schemas.Action = new SimpleSchema({
serviceId: {
type: String
},
actionName: {
type: String
},
actionDescription: {
type: String
},
actionUrl: {
type: String,
optional: true
},
actionData: {
type: [Object],
optional: true
},
"actionData.$.label": {
type: String,
optional: true
},
"actionData.$.require": {
type: String,
optional: true
},
"actionData.$.name": {
type: String,
optional: true
},
"actionData.$.placeHolder": {
type: String,
optional: true
},
"actionData.$.actionType": {
type: String,
optional: true
},
headers: {
type: Object,
optional: true
}
});
Actions.attachSchema(Schemas.Action);
以下のように私のクエリ
Actions.insert({
serviceId:"123456",
actionName: "Post",
actionDescription: "Create a new post on your page.",
actionUrl: "https://graph.test.com/v2.1/me/feed",
actionData:
[
{label: "Message", require: "required", name: "message", placeHolder: "Message text"},
{label: "Link you want to share", require: "optional", name: "link", placeHolder: "Publicly accessible URL"},
{label: "Link name", require: "optional", name: "name", placeHolder: "Title of the link preview"},
{label: "Link preview picture", require: "optional", name: "picture", placeHolder: "Preview image associated with the link"},
{label: "Link caption", require: "optional", name: "caption", placeHolder: "Caption under the title in the link preview"},
{label: "Link description", require: "optional", name: "description", placeHolder: "Description in the link preview"},
{label: "Link description", require: "optional", name: "description", placeHolder: "Description in the link preview"}
]
})
Actions.insert({
serviceId:"123456",
actionName: "Post",
actionDescription: "Create a new photo",
actionUrl: "https://graph.test.com/v2.1/me/photos",
actionData:
[
{label: "Message", require: "required", name: "message", placeHolder: "Message text"},
{label: "Image URL(Publicly accessible URL we can pull the image from.)", require: "required", name: "url", placeHolder: "Publicly accessbile URL of image", actionType: "createfile"}
]
})