Collection中的Meteor .find()返回[object Object]

San*_*tus 2 collections object find mongodb meteor

在Ubuntu上运行

Data.js

//Collections
Database = new Meteor.Collection('data');

if (Meteor.isClient) {
  Template.main.data = function () {
    var c = Database.find();
    return c;
  };
}

if (Meteor.isServer) {
  Meteor.startup(function () {
    // code to run on server at startup
  });
}
Run Code Online (Sandbox Code Playgroud)

data.html

<head>
  <title>data</title>
</head>

<body>
  {{> main}}
</body>

<template name="main">
  {{data}}
</template>
Run Code Online (Sandbox Code Playgroud)

我使用mongo插入数据库:

> db.Database.insert({title: 'ShouldWork'});
> db.Database.find();
{ "_id" : ObjectId("5296403855ee6e1350b35afb"), "title" : "ShouldWork" }
Run Code Online (Sandbox Code Playgroud)

然而,当我运行网站时,它只返回[object Object] ..

应该有自动发布和不安全,这已经成为我学习框架的障碍.

Aks*_*hat 6

这是预料之中的.这是因为结果.find()始终是游标并且具有多个对象.你必须决定你想要哪一个,或者你想要遍历每一个.

1)您想使用一个结果:

 var c = Database.findOne();
Run Code Online (Sandbox Code Playgroud)

或者2)你想迭代每一个:

{{#each data}}
    {{title}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)

另外一定要使用属性{{data}}因为{{data}},即使findOne仍然是[Object object].您应该使用类似的东西,{{data.title}}具体取决于您要使用的属性.