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

时间:2016-03-21 12:21:30

标签: mongodb restheart

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

Query for filter data, it gives correct result

Query for insert a document, it shows some error

我还需要知道< docid>在URI格式中:/< dbname> /< collname> /< docid> [?doc_type = TYPE]含义< docid>请用一些例子详细解释

4 个答案:

答案 0 :(得分:0)

要创建文档,您需要POST集合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请求标头指定为application/jsonapplication/hal+json

例如,使用Postman将主体设置为 raw ,然后从右侧的下拉列表中选择 JSON(application / json)。您会注意到这会将Content-Type标头添加到标头中。

restheart - post with postman

答案 1 :(得分:0)

请参阅此youtube链接以获取解决方案

https://www.youtube.com/watch?v=-pBnP14IxiI

答案 2 :(得分:0)

我遇到了同样的问题。 问题是我使用以&#34; _&#34;开头的字段名称。 即字段名称,如&#34; _type&#34;,&#34; _name&#34;。 尽量避免这样的名字。

答案 3 :(得分:0)

我和你有同样的问题。对于插入,您应该像这样编写对象:

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

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

请查看此链接以获取更多信息 https://community.boomi.com/s/article/howtointegratewithmongodbusingopensourcerestheartlibrary#jive_content_id_Scenario_1__InsertUpdate_an_Employee_record_in_Employees_collection_using_POST