我的文档看起来像这样
| DATE_FROM | DATE_TO |
|----------------------|----------------------|
| 2018-02-14T00:00:00Z | 2018-03-18T00:00:00Z |
| 2018-05-01T00:00:00Z | 2018-06-30T00:00:00Z |
| 2018-08-01T00:00:00Z | 2018-09-08T00:00:00Z |
我只想从user_id数组中删除7。我可以在couchDb中实现吗?我想要像
这样的结果{
"_id": "9e3f079f072cb3e03d146774fd003238",
"_rev": "1-ebf2242794ad0e4fa70ca263db4a3aad",
"user_id": [
1,
2,
3,
4,
5,
6,
7
]
}
答案 0 :(得分:1)
当然。您只需将新版本文档投放为documented。
答案 1 :(得分:1)
据我了解你的问题,你要问的是你是否可以有选择地删除数组中的项目。实现这一目标的唯一方法是首先获取整个文档,然后删除项目客户端,并推送整个文档的新版本,传入您阅读的文档的_rev:
curl 'http://..../database/9e3f079f072cb3e03d146774fd003238'
{
"_id": "9e3f079f072cb3e03d146774fd003238",
"_rev": "1-ebf2242794ad0e4fa70ca263db4a3aad",
"user_id": [1,2,3,4,5,6,7]
}
curl -XPUT -H "Content-Type: application/json"
-d '{
"_id": "9e3f079f072cb3e03d146774fd003238",
"_rev": "1-ebf2242794ad0e4fa70ca263db4a3aad",
"user_id": [1,2,3,4,5,6]
}'
{
"ok":true,
"id":"9e3f079f072cb3e03d146774fd003238",
"rev":"2-88d05ac5ef997d68d11dbafc8d07c933"
}
目前的CouchDB不允许修补'现有文件,但要求您在更新文件时始终提供全身。