将数据发布到 Meteor 的 MongoDB 集合

Posted

技术标签:

【中文标题】将数据发布到 Meteor 的 MongoDB 集合【英文标题】:Posting data to Meteor's MongoDB collection 【发布时间】:2016-09-12 21:05:12 【问题描述】:

的最佳方式是什么? 我最初尝试使用 Postman chrome 扩展、命令行工具(如 curl),但没有找到任何运气。

我使用的 curl 命令是:

 curl -i -X POST -H "Content-Type: application/json" -d '"hacker":"fromcurl","score":100' http://localhost:3000/players

输出:

HTTP/1.1 200 OK
vary: Accept-Encoding
content-type: text/html; charset=utf-8
date: Tue, 17 May 2016 00:37:44 GMT
connection: keep-alive
transfer-encoding: chunked

<!DOCTYPE html>
<html>

PS : player 是集合/表名

【问题讨论】:

***.com/a/16495135 @pink612 您的应用程序是否需要有一个REST 接口,以便您可以从命令行执行此操作?如果没有,一般的答案是使用流星方法。 @DavidWeldon 感谢您的回复。我已将 simple:rest 包添加到我的流星应用程序中。仍然将数据发布到 mongo db 似乎不起作用。 【参考方案1】:

看一下 DDP,Meteor 使用这个协议在客户端和服务器之间进行通信。 DDP 很简单并且基于 JSON。 Meteor 的 DDP 目前基于 WebSockets 和 SockJS。这很有帮助。我有一个案例,Websocket 无法在本地 LAN 网络中工作,但连接回退到 SockJS,然后一切正常,太好了!

一个实现 Meteor 和 Python 之间 DDP 通信的示例。 只需创建一个 Meteor 方法:

Meteor.methods(
  clientProcessData: function (data) 
    console.log(data);
    // Meteor post data to MongoDB code here
  ,

按照https://github.com/hharnisc/python-meteor 的说明安装 python-meteor 客户端并连接到 Meteor 服务器。

您可以通过以下方式从 Python 调用 Meteor 方法:

client.call('clientProcessData', ["This is a test"], callback_function)

不确定是否有其他编程语言的其他 DDP 客户端,但就我而言,python 效果很好!

// 更新:有很多,但是我太新了,害怕发布外部链接,所以请在谷歌上做一个简单的“DDP客户端”搜索。

【讨论】:

以上是关于将数据发布到 Meteor 的 MongoDB 集合的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB / Meteor / 将 MONGO_URL 导出到已部署的应用程序

使用 Meteor 方法从 MongoDB 下载大量文档

如何将 mongodb 客户端连接到本地 Meteor MongoDB

Meteor 无法连接到 MongoDB

在 Mac 上,Meteor 和 MongoDB 的最佳数据 GUI 是啥?

Meteor - 如何在 MongoDB 集合中查找/获取对象并使用方法将其推送到另一个集合中?