我正在使用RESTHeart来访问Mongo数据库。 RESTHeart有一个应该创建数据库的API,例如:
curl -X put http://localhost:8080/db1
好吧,我使用的是基于Chrome浏览器的REST客户端碰巧做了相同的跟随卷曲调用,但我不小心忘了核对数据部分。它包含数据的JSON {"e":"f"}
。
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”,“_ etc”:{“$ oid”:“570f90601d956327e8df28c4”},“_ size”:0,“_ total_pages”:0, “_returned”:0}
现在,使用Mongo shell,我尝试使用几乎每个Mongo shell command找到这个键/值对。但是,我找不到它,也不能删除它。事实上,我可以创建一个相当大的Mongo数据库,然后做那个curl put,我搞砸了,但它然后将这对添加到我干净的数据库中。
有没有人知道如何使用Mongo shell或RESTHeart API删除那个奇怪的键/值对 - 缺少数据库的核心并从头开始重新创建它?感谢。
答案 0 :(得分:0)
要删除db属性,只需更新db:
使用PATCH:
PATCH /db {"$unset": {"e": null}}
或PUT
PUT /db {}
有关详细信息,请查看文档reference sheet和representation format