我在GAE上编写了一个Go应用程序,我有一个名为Connection{Token, ToAdress, FromAdress}的类型
我希望将其存储在数据存储区中,以便可以通过GetConnectionByT(Token string)和GetConnectionByA(FromAdress,ToAdress string)进行查找
做这件事的最好方法是什么?现在,我的Connect类型有两个不同的.key()函数,我每次添加时都会插入具有不同键的重复条目,但这感觉真的真的错了:)
datastore.NewQuery("Connection").Filter是一条可行的道路吗?说钥匙应该更快更便宜?但是如果不是,我如何过滤多个字段呢?
发布于 2013-02-24 06:20:09
如果你检查the documentation for datastore.Query.Filter,你会注意到多个过滤器是ANDed在一起。所以你可以做这样的事情:
q := datastore.NewQuery("Connection").
Filter("FromAddress =", a1).
Filter("ToAddress =", a2).
Order("-FromAddress")如果你有一个有问题的实体的密钥,那么是的,使用这个密钥可能会更快。然而,从你问题中的描述中很难分辨出来。
https://stackoverflow.com/questions/15039557
复制相似问题