如何通过 restheart api 在 mongo 数据库上插入数据

how to insert data on mongo db through restheart api

我正在使用 mongo DB 3.0 版本并重新使用 API 2.0 版本。现在我正在尝试通过邮递员 chrome 界面检查我的查询(URI)。我在 mongo DB 中创建了一个数据库(测试)table(mycol) 和两个文档,当我过滤该数据时它显示正确但是当我尝试将数据插入 mongodb 时邮递员或 HAL 浏览器显示错误,请大家指导我语法格式。

Query for filter data, it gives correct result

Query for insert a document, it shows some error

我还需要知道 URI 格式的 : ///[?doc_type=TYPE] 是什么意思 请解释一些例子的详细信息

要创建文档,您需要 POST collection POST /test/mycol 或 PUT 文档 PUT /test/mycol/<docid>

<docid>代表文档id。查询参数 docid_type 是可选的,允许在 URL 中指定 <docid> 的类型,更多信息请参见文档 Resource URI 部分。

例如,如果您想创建以下文档 { "_id": “mydoc", “message”: “hello” },您可以

PUT /test/mycol/mydoc { “message”: “hello”}

POST /test/mycol { "_id": “mydoc", “message”: “hello” }

在后一种情况下,如果您不指定 _id,它将自动生成为 ObjectId。

请注意,您必须将 Content-Type 请求 header 指定为 application/jsonapplication/hal+json

例如,使用 Postman,您将 body 设置为 raw 和 select JSON (application/json) 从右侧的下拉列表中。您会注意到,这会将 Content-Type header 添加到 header 中。

我运行遇到了同样的问题。 问题是我使用了以“_”开头的字段名称 即字段名称,如“_type”、“_name”。 尽量避免这样的名字。

我遇到了和你一样的问题。对于插入,你应该像这样写你的对象:

   {
    "code": 20,
    "name": "s",
    "family": "x"
   }

并设置 POST 您的方法,如果文档存在则更新,否则将被创建。

请查看此 link 了解更多信息 https://community.boomi.com/s/article/howtointegratewithmongodbusingopensourcerestheartlibrary#jive_content_id_Scenario_1__InsertUpdate_an_Employee_record_in_Employees_collection_using_POST