1

我正在关注meteortips 中的流星教程,然后我进入了在浏览器控制台中创建集合的部分。创建集合有效,但它不允许我向其中插入任何内容。(PlayersList = new Meteor.Collection('players');

请看下面:

PlayersList.insert({ name: 'Alex', score: 42 });
"rpPamgZEZM9opCzHz"
debug.js:41 insert failed: Method not found

更奇怪的是,我什至可以像插入工作一样取回哈希。键入PlayersList.find().fetch();返回一个空数组:(

我在 Windows 8.1 和 MongoDB 版本 2.6 上使用最新版本的 Meteor

如果有人可以帮助我,我将非常感激:)

4

1 回答 1

4

PlayersList = new Meteor.Collection('players');您已在客户端上定义了集合,但尚未在服务器上定义它。

如果您有类似if(Meteor.isClient) {..}(或在/client)目录中的内容,则代码将不会在服务器上运行。确保您还将 aPlayersList = new Meteor.Collection('players');放在if(Meteor.isServer)(或/server)目录中。

最好的办法是将它放在根目录之外,这样它就可以在客户端和服务器上运行。

当您在客户端插入文档时,消息将传输到服务器并尝试将其插入数据库。该集合未在服务器端定义,因此它通过消息拒绝它method not found.

于 2015-04-18T12:35:26.427 回答