我目前正在努力解决一些应该是微不足道的事情,也许是这样,但我找不到合适的解决方案.
我的问题源于RavenDB默认ID结构.假设我们使用HiLo算法创建一个人,我们将得到我们的第一个文档:
people/A-1
相关系列“人物”现在有一个成员.
我的问题非常简单:设计一个普通的RESTful方法来获取一个人:
GET people/:id
GET people/people/A-1
这显然不起作用,因为斜杠字符是路由分隔符,但是使用RavenDB它也是实体ID的一部分.
我尝试使用不同的分隔符(更改我的客户端代码的约定),因此要获得类似人#A-1的ID,但RavenDB Studio无法识别:如果我尝试将两个文档“链接”在一起ID,只识别标准格式.此外,我找不到在服务器级别设置数据库约定的方法,但仅限于客户端级别.
这个解决方案也感觉像是一个肮脏的解决方法,我正在寻找正确的做事方式.
我知道我可以使用任意ID,比如没有任何前缀的电子邮件地址,但这对于我要存储的各种实体都不可行,自然键在每种情况下都不是一个选项.