Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 主键和CouchDB_Ruby_Couchdb_Couchrest - Fatal编程技术网

Ruby 主键和CouchDB

Ruby 主键和CouchDB,ruby,couchdb,couchrest,Ruby,Couchdb,Couchrest,CouchDB的版本控制对我正在编写的应用程序来说绝对是一个福音,但是我想在数据库中表示的每个对象都有它自己的唯一标识符(我们称之为my\u id),所以我实际上不需要\u id字段 我有没有办法告诉CouchDB我想让我的字段成为主字段(而不是\u id) 我正在使用ruby的couchrest_模型,所以我知道我可以做模型。如果我在类中放置view_by:my_id,那么通过我的id(params[:my_id])查找,但这感觉像是在毫无目的地存储一个\u id。我应该在意吗?在创建文档时,

CouchDB的版本控制对我正在编写的应用程序来说绝对是一个福音,但是我想在数据库中表示的每个对象都有它自己的唯一标识符(我们称之为
my\u id
),所以我实际上不需要
\u id
字段

我有没有办法告诉CouchDB我想让我的字段成为主字段(而不是
\u id


我正在使用ruby的couchrest_模型,所以我知道我可以做
模型。如果我在类中放置
view_by:my_id
,那么通过我的id(params[:my_id])查找
,但这感觉像是在毫无目的地存储一个
\u id
。我应该在意吗?

在创建文档时,是否可以提供自己的id而不是couchb指定的默认id?我不知道ruby的couchrest是否能做到这一点,但它在CouchDB API中是可用的

请看这里:


文档ID被传递到url中。

我当然可以,但我希望保留名称
我的ID
,因为它在我的应用程序中具有意义。你也可以在文档中保留我的ID。创建文档时,只需将id和my_id设置为相同的值。这只是一点点的重复,你永远不会改变id或我的id,对吧?没错!这种复制感觉有点不对,但它会将存储的数据减少几个字节,并且不需要新的视图。听起来不错!我同意,复制总是让人觉得有点脏,但你要求保留我的身份证并没有给你很多选择。在ruby文档上为id创建某种别名可能是可能的,但似乎是一个更大的难题。(当您使用my_id时,my_id会在幕后返回id的值,就像一个定制的get函数一样)(我不是ruby专家)这当然是可能的(在类中它就像
alias:my_id:_id
一样简单),但更多的是关于数据库的语义。不过谢谢:)