我们正在构建一个推荐器,将用户兴趣与地点的特征进行比较。例如。如果用户喜欢“户外”,并且这个地方存储了一个很高的“户外”值,那么这个地方是推荐的。
我的Google Datastore文档结构是
{ "_id" : 1, "name" : "Netherlands", "outdoor": 4, "painting":5, "history": 6, "drink"; 7, "love": 8 }
我想做的是计算多个字段的总和。
使用MongoDB,我可以像这样实现它。
db.characteristics.aggregate(
[
{ $project: { name: 1, score: { $add: [ "$outdoor", "$love" ] } }}
]
)
输出结果将是
{ "_id" : 1, "name" : "Netherlands", "score" : 12 }
我可以用MongoDB query很容易做到这一点,但我不知道如何用google datastore API来做到这一点。
所以如果任何人有我的问题的经验,请让我知道。
发布于 2017-06-26 23:06:27
这不是查询引擎本机支持的特性(虚拟字段)。您只需编写在读取实体后手动聚合字段的代码。
如果您使用的是App Engine Standard和Python NDB客户端库,则可以在模型中使用ComputedProperties,但请记住,这本质上只是一个客户端助手函数。
https://stackoverflow.com/questions/44761728
复制相似问题