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

将数据发布到 Meteor 的 MongoDB 集合的最佳方式是什么? 我最初尝试使用 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 是集合/表名

【问题讨论】:

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

标签: mongodb rest curl meteor postman


【解决方案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客户端”搜索。

【讨论】:

    猜你喜欢
    • 2015-02-02
    • 2017-08-23
    • 1970-01-01
    • 2015-08-08
    • 2018-11-27
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    • 2018-01-31
    相关资源
    最近更新 更多