meteor restivus端点配置

时间:2015-02-18 21:35:28

标签: mongodb api rest http meteor

所以我有meteor运行,我希望公开一个REST API。我决定选择restivus,因为它看起来更清洁,更灵活。

所以我的基本代码是:

if (Meteor.isServer) {
  Meteor.startup(function () {

    // Sensors = new Meteor.Collection('sensor');

    Restivus.configure({
      useAuth: false,
      prettyJson: false
    });
    Restivus.addCollection("sensor", {
      defaultOptions: {},
    });

  });
}

我可以使用以下方式查询:

$ curl -X GET http://localhost:3000/api/sensor
{"status":"success","data":[{"_id":{"_str":"00000000236668afaf952dee"},"ts":1424246899,"temp":28,"humidity":33}]}

嗯...所以'_id'我手动输入(而不是让mongo为我设置)在输出中看起来有点奇怪;但好吧,我猜这是一个ObjectId()。然而,当我开始使用GET时,它失败了:

$ curl -X GET http://localhost:3000/api/sensor/00000000236668afaf952dee

{“status”:“失败”,“消息”:“找不到项目”}

我做错了什么?

1 个答案:

答案 0 :(得分:1)

看起来_id实际上是一个对象{"_str":"0000....52dee"},而不是简单的字符串"0000....52dee"。问题很可能出在保存_id的代码中。它看起来应该是{"_id" : "rdSRTTz5RL5JjQy3G"}