gpt4 book ai didi

javascript - Meteor js - 无法通过控制台在Mongo上插入数据

转载 作者:行者123 更新时间:2023-12-02 13:50:17 24 4
gpt4 key购买 nike

我正在学习 Meteor 上的 udemy 类(class)。

重现我的问题的步骤:

1) 在 CMD 上:

meteor create Leaderboard
cd Leaderboard
meteor npm install
meteor run
(server starts, localhost:3000)

2)然后,我删除了main.css、main.html和main.js(在client文件夹下)的内容。

3)打开main.js并添加以下行:

PlayersList = new Mongo.Collection('players');

在 Chrome 的控制台上,我输入“PlayersList”并得到以下信息:

M…o.Collection {_transform: null, _connection: Connection, _collection: LocalCollection, _name: "players", _driver: LocalCollectionDriver…}
<小时/>

问题

当我在控制台上输入以下内容时:

PlayersList.insert({ name: 'David', score: 0 });

这是错误:

"eebRFhA9vbSfHzPKk"
meteor.js?hash=e3f53db…:930 insert failed: Method '/players/insert' not found

为什么我会得到它?我严格按照老师提供的步骤进行操作。这里出了什么问题?

最佳答案

该错误是由于该集合尚未在服务器上定义而仅在客户端上定义而引起的。

meteor create app 创建的默认应用程序包含两个main.js文件,其中之一位于 clientserver 中的一个文件夹。这些专门命名的文件夹的工作方式与您所期望的完全一样 - 其中的内容仅加载到客户端或服务器上。显然,您仅将集合定义添加到 client 中的集合定义中。 。要解决此问题,如果您将文件放在这些专门命名的文件夹之外 - 例如创建一个名为 collections 的文件夹,并添加 PlayersList.js文件在那里并在那里定义您的集合,然后它将被两者加载并工作。

或者(这是开发大型应用程序时推荐的方法),如果将定义集合的文件放入名为 imports 的文件夹中那么你可以import分别添加到您的服务器和客户端代码,而不是 Meteor 自动包含它。您可以阅读更多关于Meteor应用结构here .

关于javascript - Meteor js - 无法通过控制台在Mongo上插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41042592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com