【问题标题】:RESTHeart database createRESTHeart 数据库创建
【发布时间】:2016-04-14 13:37:18
【问题描述】:

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

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

好吧,我使用的是基于 chrome 浏览器的 REST 客户端,它碰巧执行了相当于 follow curl 调用的操作,但我不小心忘记了对数据部分进行核对。它包含用于数据的 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”,“_etag”:{“$oid”:“570f90601d956327e8df28c4”},“_size”:0,“_total_pages”:0, “_returned”:0}

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

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

【问题讨论】:

  • Restheart 也允许定义数据库和集合资源的属性

标签: mongodb curl restheart


【解决方案1】:

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

使用补丁:

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

或使用 PUT

PUT /db {}

有关更多信息,请查看文档 reference sheetrepresentation format

【讨论】:

  • 我看到您经常提到 SoftInstigate Wiki。但是,它似乎是一个封闭的环境。是否可以访问?
  • @Ralph 这是一个旧答案。 RESTHeart 的文档已移至restheart.org/docs
猜你喜欢
  • 2017-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-13
  • 2012-08-23
  • 2012-08-15
  • 2015-08-01
  • 2011-08-09
相关资源
最近更新 更多