无法访问或使用mongo db终端中显示的文档

时间:2016-12-01 23:30:08

标签: mongodb meteor file-upload meteor-packages

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

当我使用

在终端中查询mongo时
db.stampest.find({})

我收到了条目

enter image description here

这表明数据库中有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());
});

用户可以像这样插入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>

1 个答案:

答案 0 :(得分:1)

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

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