如何在kvs中找到属性的条目

时间:2016-06-13 18:19:04

标签: erlang

如何在kvs中按属性或谓词函数查找条目?例如:

kvs:find(fun(X) -> X#user.name == "Alexander").

我可以用这个:

lists:filter(Predicate, kvs:all(entity)).

但我不想将所有条目加载到内存中。

1 个答案:

答案 0 :(得分:4)

我发现kvs是键值存储,所以我们只能通过实体表模式中指定的键来搜索条目:

-record(user, {
   id,
   userName,
   password
}).

#table{name=user,fields=record_info(fields,user), keys = [userName]}

然后我们可以这样做:

kvs:index(user, userName, "Alexander").