我正在使用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>请用一些例子详细解释
答案 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/json
或application/hal+json
。
例如,使用Postman将主体设置为 raw ,然后从右侧的下拉列表中选择 JSON(application / json)。您会注意到这会将Content-Type标头添加到标头中。
答案 1 :(得分:0)
请参阅此youtube链接以获取解决方案
答案 2 :(得分:0)
我遇到了同样的问题。 问题是我使用以&#34; _&#34;开头的字段名称。 即字段名称,如&#34; _type&#34;,&#34; _name&#34;。 尽量避免这样的名字。
答案 3 :(得分:0)
我和你有同样的问题。对于插入,您应该像这样编写对象:
{
"code": 20,
"name": "s",
"family": "x"
}
并设置POST您的方法,如果文档存在,也要进行更新,否则它将被更新,否则将被创建。