0

我创建了一个名为Stampest的集合,其中存储了用户创建的上传图像和标题字符串的引用。使用ostrio:autoform 包。这个包创建了一个名为Images的集合,其中存储了所有用户上传的图像,并因此引用/引用。

当我在终端中使用

db.stampest.find({})

我得到了条目

在此处输入图像描述

这表明数据库中有文档,在StampestCollection中。但是问题是,当我在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());
});

用户插入imagetitle这样的:

<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>
4

1 回答 1

1

从我在您的代码中看到的内容来看,您返回的是一个Arraydb 项目,而不是Cursor代码中的一个。如果您查看https://docs.meteor.com/api/pubsub.html,您会注意到常规publications返回简单游标或游标数组,但从不返回您获取的数据。

编辑:此外,console.log您的出版物中的 the 永远不会被解释为它在上一行返回。

于 2016-12-02T12:29:09.163 回答