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

ajsxfq5m  于 2023-10-16  发布在  Go
关注(0)|答案(4)|浏览(119)

我使用的是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]这是什么意思请用一些例子详细解释

kcugc4gi

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/jsonapplication/hal+json
例如,使用Postman,您将body设置为 raw,并从右侧的选项卡中选择 JSON(application/json)。您会注意到这将向标头添加Content-Type标头。

zphenhs4

zphenhs42#

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

chhkpiq4

chhkpiq43#

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

{
    "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

ejk8hzay

ejk8hzay4#

你需要在请求中添加一个header:content-type = application/json

查看更多信息:
https://restheart.org/docs/mongodb-rest/write-docs

相关问题