我创建了一个名为 Stampest 的集合,该集合存储由用户创建的上传图像和标题字符串的引用。使用ostrio:autoform package.此软件包创建一个名为图像的集合,其中存储所有用户上传的图像,并将其引用/引用。
当我使用
在终端中查询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>
答案 0 :(得分:1)
从我在您的代码中看到的内容,您在代码中返回Array
个db项而不是Cursor
。
如果您查看https://docs.meteor.com/api/pubsub.html,您会注意到常规publications
会返回简单游标或游标数组,但不会返回您提取的数据。
编辑:此外,您的出版物中的console.log
将永远不会被解释为它在上一行中返回。