ユーザーが作成した、アップロードされた画像とタイトル文字列の参照を格納するStampestというコレクションを作成しました。osrio:autoform パッケージを使用します。このパッケージは、ユーザーがアップロードしたすべての画像が保存され、参照される画像と呼ばれるコレクションを作成します。
を使用して端末でmongoをクエリすると
db.stampest.find({})
エントリを取得します
Stampest
これは、コレクション内のデータベースにドキュメントがあることを示しています。しかし、問題は、 Meteor Toysのデバッグでコレクションを見ると、空であると表示され、ドキュメント (この場合は画像とタイトル) を挿入すると、コレクションが一瞬 1 に変わり、元に戻ることです。 0. ターミナルまたはコンソールからのエラーはありません
その結果、これらのドキュメントにアクセスできません。どうすればよいですか?
これは schema.js です
Schemas = {};
Stampest = new Meteor.Collection('stampest');
Stampest.allow({
insert: function (userId, doc) {
return userId;
},
update: function (userId, doc, fields, modifier) {
// can only change your own documents
return doc.userId === userId;
},
remove: function (userId, doc) {
// can only remove your own documents
return doc.userId === userId;
}
});
Schemas.Stampest = new SimpleSchema({
title: {
type: String,
max: 60
},
picture: {
type: String,
autoform: {
afFieldInput: {
type: 'fileUpload',
collection: 'Images',
// uploadTemplate: 'uploadField' // <- Optional
// previewTemplate: 'uploadPreview' // <- Optional
}
}
}
});
Stampest.attachSchema(Schemas.Stampest);
は次のpublish
ようになります。
Meteor.publish('stampest', function () {
return Stampest.find({author: this.userId}).fetch();
console.log(Stampest.find());
});
image
ユーザーは、次のtitle
ように挿入します。
<template name="createStamp">
<div class="grid-block">
<div class="grid-container">
<div class="upload-img">
<a href="{{file.link}}">{{file.original.name}}</a>
</div>
<div class="new-stamp-container">
{{> quickForm collection="Stampest" type="insert" id="insertStampForm" class="new-stamp-form"}}
</div>
</div>
</div>
</template>