小编Joh*_*ews的帖子

NoSQL数据库设计用于具有多个限制的查询(Firebase)

我需要最佳实践技巧,以增强我的noSQL数据库(在Firebase上托管)的性能。此外,我需要有关如何构造节点的技巧。

该数据库存储产品信息,具有三个主要属性:

$productId          
     /date           
     /category           
     /subcategory
Run Code Online (Sandbox Code Playgroud)

在我的网站上,我有三种看法:

  • 检索最后4个产品(orderBy日期)
  • 检索类别X的最后4个产品(按日期)
  • 检索类别X和子类别Y的最后4个产品(按日期)。

请注意,我还有一个节点product_images,其子节点与productID匹配。因此,按以下方式构造数据库:

$categoryId
        $subCategoryId 
               $productId
Run Code Online (Sandbox Code Playgroud)

无法使用,因为我需要事先知道$ categoryId和$ subCatrgoryId,然后才能将其与$ productId匹配。这也将使检索最后4个产品变得困难。

我将如何高效地构建noSQL数据库,以及如何使用Firebase筛选出具有多个限制的产品来检索产品?

我知道在Firebase中可以使用orderByChild和equalTo,但这仅适用于一个限制,而我必须处理一到三个。

database database-design nosql firebase

0
推荐指数
1
解决办法
730
查看次数

如何从python中的混合数据类型列表中删除nan(float)项目

我有一个混合数据类型的列表:

Z = ['a','b', float('NaN'), 'd']
Run Code Online (Sandbox Code Playgroud)

我想删除纳观察.

我基于一些多个建议尝试了以下但没有任何效果:

Z = [x for x in Z if x != 'nan']
Z = [x for x in Z if x != float('NaN')]
Run Code Online (Sandbox Code Playgroud)

python

0
推荐指数
1
解决办法
147
查看次数

如何检查 BigQuery 中是否存在数据集?

我们可以启动一个 BigQuery 数据集,如下所示:

dataset_ref = self.client.dataset(dataset_id=self.dataset_id)
dataset = bigquery.Dataset(dataset_ref)
Run Code Online (Sandbox Code Playgroud)

如何检查此数据集是否已存在?当我查看数据集的属性时,它们似乎对存在的集合和不存在的集合重叠。

python google-bigquery

0
推荐指数
1
解决办法
1136
查看次数

计算Matlab中两个datenum之间的秒数

如果我执行以下操作:

t1 = now;
pause(2);
t2 = now;
Run Code Online (Sandbox Code Playgroud)

如何以秒为单位计算t2和t1之间的差异?

dt = t2 - t1
Run Code Online (Sandbox Code Playgroud)

matlab

-3
推荐指数
1
解决办法
86
查看次数

JSON.parse()仅返回对象的一部分

我在表单中有一个字符串:

var targetString = 
"{hello: 5, world: 10}, {hello: 4, otherworld: 11}";
Run Code Online (Sandbox Code Playgroud)

使用语法

var targetObject = JSON.parse(targetString) 
Run Code Online (Sandbox Code Playgroud)

我只收到:

targetObject = {
 hello: 5,
 world: 10
}
Run Code Online (Sandbox Code Playgroud)

所以它只需要第一部分,而不是第二部分.我怎样才能防止这种情况并解决它?

javascript json

-5
推荐指数
1
解决办法
328
查看次数