2016-03-21 3 views
0

Я использую версию mongo DB 3.0 и версию 2.0 для переохлаждения. теперь я пытаюсь проверить свои запросы (URI) через почтовый интерфейс chrome. и я создаю таблицу базы данных (test) (mycol) и два документа в mongo DB, когда я фильтрую эти данные, которые он показывает правильно, но когда я пытаюсь вставить данные в mongodb через postman или HAL Browser, он показывает ошибку, можете ли вы, пожалуйста, мне формат синтаксиса.как вставлять данные на mongo db через restheart api

Query for filter data, it gives correct result

Query for insert a document, it shows some error

, а также я должен знать < DocId> в формате URI:/< имя_бд>/< collname>/< DocId> что значит < [doc_type = TYPE?] docid> пожалуйста, объясните подробно, например, в каком-то примере

ответ

0

Для создания документа вам необходимо либо отправить POST коллекции POST /test/mycol, либо PUT a document PUT /test/mycol/<docid>

<docid> означает идентификатор документа. параметр запроса docid_type является необязательным и позволяет указать тип <docid> в URL-адресе, дополнительную информацию в документации 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.

Например, с помощью почтальона вы установите тело, чтобы быть сырым и выберите JSON (приложение/JSon) из выпадающего списка справа. Вы заметите, что это добавит заголовок Content-Type в заголовки.

restheart - post with postman

+0

Спасибо за ваш ответ, но все же у меня есть одна проблема, когда я пытаюсь вставить данные, как вы сказали, это займет весь запрос как имя _id, а данные не вставляются. мой запрос http://127.0.0.1:8080/test/mycol/mydoc123/ {"name": "rsk"} Я получаю результат от mongodb: <"_ id": "mydoc123", "_etag": "76743hjghjdfg744 "> но данные не вставляются –

0

Я столкнулся с такой же проблемой. Проблема заключалась в том, что я использовал имена полей, начинающиеся с «_» . Имена полей, такие как «_type», «_name». Старайтесь избегать таких имен.

 Смежные вопросы

  • Нет связанных вопросов^_^