sql - NoSQL 中如何实现不同查询的抽象视图
问题描述
我正在使用 Google Data-Store 开发一个系统,其中有一个 Kind - Posts 并且有 2 个属性
1. message (string)
2. hashtags (list)
我想用数字查询不同的主题标签。例如说帖子是
{
{
"message":"msg1",
"tags":["abc","cde","efr"]
},
{
"message":"msg2",
"tags":["abc,"efgh","efk"]
},
{
"message":"msg3",
"tags":["abc,"efgh","efr"]
}
}
输出应该是
{
"abc":3
"cde":1
"efk":1
"efgh":2
"efr":2
}
但是在 NoSQL 实现数据存储中我不能直接查询这个。为了查询,我必须加载所有消息并找到不同的查询。这将是一个耗时的事件。
但是我看到了一个独特的函数db.collection.distinct()我认为它可能优化了这个问题。如果必须在任何 NoSQL 上完成,那么最佳解决方案可能是什么?
解决方案
不幸的是,带有“distinct on”的投影查询只会返回每个不同值的单个结果(https://cloud.google.com/datastore/docs/concepts/queries#projection_queries)。它不会提供每个不同值的计数。您需要自己进行计数,但您可以使用投影查询通过仅返回标签值而不是完整实体来节省成本。
推荐阅读
- css-position - 尽管 z-index 两个组件呈现在同一级别
- java - 如何解决 dagger 错误 - 如果没有 @Inject 构造函数或 @Provides-annotated 方法,则无法提供字符串
- python - 尝试爬行,但只有一个有效,其他无效
- linux - 同一进程的不同PID
- html - 移动设备上三倍于正常高度的图像
- google-sheets - 在谷歌表格中按共享符号查找部门
- vue.js - 我该如何解决这种跳跃过渡?
- swiftui - 检查 ForEach 奇/偶行
- android - 为什么我无法转换我的服务器响应并出现错误?
- python - ValueError: `validation_split` 仅支持张量或 NumPy 数组,在输入中找到以下类型:[
,