考虑一个JSON对象,例如:
{
name: 'ben',
employer: 'The Sherwin-Williams Company',
emails: ['ben@gmail.com', 'ben@sherwin-williams.com']
}
在MongoDB中,您可以索引电子邮件字段,以便您可以使用“ben@gmail.com”作为电子邮件找到任何对象。这在Riak有可能吗?我无法通过阅读the docs来判断。
答案 0 :(得分:2)
你当然可以,但你必须手动输入索引条目。
这是Ruby中的一个例子:
require 'riak'
client = Riak::Client.new(:protocol => "pbc", :host => "127.0.0.1", :pb_port => 10047, :http_port => 10048)
ben = client['people'].get_or_new('ben')
ben.data = { :name => "ben",
:employer => "The Sherwin-Williams Company",
:emails => ['ben@gmail.com', 'ben@sherwin-williams.com'] }
ben.indexes['email_bin'] << "ben@gmail.com"
ben.indexes['email_bin'] << "ben@sherwin-williams.com"
ben.store
现在,您可以通过ruby库或http://127.0.0.1:10018/buckets/people/index/email_bin/ben@gmail.com
在我的系统上,它返回:
{"keys":["ben"]}
我知道Java和Ruby Riak库支持添加/编辑索引条目,我将不得不检查其他人并回复你。