0

我正在使用RESTHeart访问 Mongo 数据库。RESTHeart 有一个用于创建数据库的 API,例如:

curl -X put http://localhost:8080/db1

好吧,我正在使用一个基于 chrome 浏览器的 REST 客户端,它恰好执行了相当于跟随 curl 调用的操作,但我不小心忘记了对数据部分进行核对。{"e":"f"}它包含用于数据的 JSON 。

curl -X put -H 'Content-Type: application/json' --data-raw '{"e":"f"}' http://localhost:8080/db2`

然后,当我尝试执行 curl get 时,它返回一个值,其中"e":"f"填充了键/值对——这不是我想要的。

$ curl  http://localhost:8080/db2

... {“_id”:“db2”,“e”:“f”,“_etag”:{“$oid”:“570f90601d956327e8df28c4”},“_size”:0,“_total_pages”:0,“_returned” : 0}

现在,使用 Mongo shell,我尝试使用几乎每个Mongo shell 命令找到这个键/值对。但是,我找不到它,也无法删除它。事实上,我可以创建一个相当大的 Mongo 数据库,然后执行 curl put,我搞砸了,但它随后将这对添加到我漂亮干净的数据库中。

有谁知道我如何使用 Mongo shell 或 RESTHeart API 删除那个奇怪的键/值对 - 没有核对数据库并从头开始重新创建它?!谢谢。

4

1 回答 1

0

要删除 db 属性,只需更新 db:

使用补丁:

PATCH /db {"$unset": {"e": null}}

或使用 PUT

PUT /db {}

有关更多信息,请查看文档参考表表示格式

于 2016-04-15T06:18:02.627 回答