我使用的是mongo DB 3.0版本和restheart API 2.0版本。现在我正试图通过 Postman Chrome界面检查我的查询(URI)。我在mongo DB中创建了一个数据库(测试)表(mycol)和两个文档,当我过滤数据时,它显示正确,但当我试图通过postman或HAL浏览器将数据插入mongodb时,它显示错误,你们能告诉我语法格式吗?
Query for filter data, it gives correct result
Query for insert a document, it shows some error
我还需要知道URI格式:/[?doc_type=TYPE]这是什么意思请用一些例子详细解释
4条答案
按热度按时间kcugc4gi1#
要创建文档,您需要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/json
或application/hal+json
。例如,使用Postman,您将body设置为 raw,并从右侧的选项卡中选择 JSON(application/json)。您会注意到这将向标头添加Content-Type标头。
zphenhs42#
我也遇到了同样的问题。问题是我使用了以“_”开头的字段名,即字段名称,如“_type”、“_name”。尽量避免这样的名字。
chhkpiq43#
我和你有同样的问题。对于insert,你应该像这样写你的对象:
并设置POST你的方法,也为更新,如果文档存在,它将被更新,否则它将被创建。
请查看此链接以获取更多信息https://community.boomi.com/s/article/howtointegratewithmongodbusingopensourcerestheartlibrary#jive_content_id_Scenario_1__InsertUpdate_an_Employee_record_in_Employees_collection_using_POST
ejk8hzay4#
你需要在请求中添加一个header:
content-type = application/json
查看更多信息:
https://restheart.org/docs/mongodb-rest/write-docs