问题标签 [multikey]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1002 浏览

python - Python dict 像满射多键 → 值容器

我目前需要一个具有类似内置dict类型功能的 Python 容器类。基本上我需要的是一个字典,其中主键旁边的任意数量的键映射到相同的值。但是,当迭代它时,它应该只迭代(primary_key, value)对,如果请求键列表,则只迭代主键。

如果这已经实施,我宁愿不重新发明轮子。那么是否已经有提供这种容器的模块了?如果没有,我将自己实现它。

0 投票
1 回答
866 浏览

arrays - 优化 MongoDB 集合上的精确数组匹配

我有一个集合,我只需要按整个数组查找文档;我想不出我只想通过该数组的一个值来查找文档的任何场景。不幸的是,始终为数组值激活的多键功能显然无法停用。

文档中它说“索引将用于查找值的子集(当前是第一个),然后将检查文档是否完全匹配。” 我认为这大大降低了我的表现。尽管有索引,但有些查找需要 70 毫秒和几分钟,因为根据第一个元素,MongoDB 有时必须搜索几千或几十万个文档。至少这是我的理论。

有没有办法避免这个问题,或者我应该序列化我的数组并将它们存储为字符串?

提前致谢!

0 投票
1 回答
1930 浏览

sorting - MongoDB多键如何排序?

在 MongoDB 中,一个字段可以有多个值(值的数组)。它们中的每一个都被索引,因此您可以过滤任何值。但是您也可以“排序”具有多个值的字段吗?结果是什么?

更新:

对于长度不等的数组,较长的数组比较短的数组“低”

那么,为什么 [0] 在 [0,1] 之前,而 [2] 在 [2,1] 之后?可能只对第一个数组元素进行排序吗?还是最低的?然后是插入顺序?

此外,在索引扫描(与表扫描相反)的情况下如何实现?

0 投票
1 回答
446 浏览

arrays - MongoDB 索引数组仅部分工作

我知道关于这个主题已经有很多了,但是没有一个问题能帮助我继续下去。我有一个通过 GridFS 生成的文件上传系统,如下所示:

如您所见,我有一个字段“关键字”,它是一组关键字。我想建立一个搜索选项来搜索这个字段,类似于全文搜索。因此,我分别索引了“关键字”字段。

现在的问题是,这有时有效。或者说昨天它在某些文件上工作,但在某些文件上却找不到任何东西。

假设我做了上面的索引,我会认为

会给我上面打印的文件。还是我错过了什么?

(我唯一的解释是:创建索引需要很长时间,而且还没有准备好,这实际上是不可能的,或者选项“背景”、“dropDups”有问题,“独特”等...

我什么都试过了。我删除了索引;

并再次创造了它们。始终通过控制

但是不,我无法得到任何结果...

在将文件保存在数据库中之后,我还尝试通过 PHP 进行索引。为此,我使用以下代码:

或者也没有独特的选项。


正如我所说,有时这可行,我可以查询关键字,但有时我不能。或者找到了一些关键字,但没有找到其他文档的关键字。难道索引不是为每个文档创建的吗???

请有人帮助我,我真的不明白这里的问题!

已经谢谢了。

0 投票
6 回答
11780 浏览

c# - 具有多个键和每个键的多个值的字典

大家好,我有一个要求,我必须分配多个键,并且对于多个键,我必须分配多个值

我的要求如下。我有EmpIDPayYr并且PayID对于每个员工。

假设我得到我的数据如下:

我想要我的字典,以便具有键值结果的字典如下:

我尝试了一些事情如下

示例代码

但我没有得到我需要的结果,所以任何人都可以帮助我。

0 投票
2 回答
621 浏览

node.js - Mongo自定义多键排序

Mongo 文档状态:

Mongo 多键功能可以自动索引值数组。

那很好。但是基于多键的排序呢?更具体地说,如何根据数组匹配百分比对集合进行排序

例如,我有一个模式[ 'fruit', 'citrus' ]和一个集合,如下所示:

现在,我想根据每个条目与标签模式的匹配百分比对集合进行排序。橙子必须先来,苹果第二,土豆最后。

最有效和最简单的方法是什么?

0 投票
2 回答
459 浏览

java - 在 Struts2 中访问多键映射

Struts2 支持多键映射吗?

如果是这样,我可以像访问它一样,

谢谢

0 投票
1 回答
720 浏览

ms-access - 多字段主键

由于我无法理解的原因,提供我的表格的人没有任何形式的单字段唯一标识来标识他们表格中的 20k+ 条目。

我有两个字段,BuildingCode 和 RoomCode,它们共同构成了一个独特的房间。例如:

我知道我可以在一个“MainIndex”下告诉对这两个字段的索引访问,并确保没有重复。我不知道该怎么做是允许另一个表引用其中一个房间作为其父级(一对多关系)。

在我的计算机表中,我希望引用一个特定的房间。也就是说,我希望确保 RoomRef 是对一个唯一房间的引用。我该怎么做?

由于它们实现数据更新的方式(在房间表中),我无法更改给定房间表的布局。

任何帮助显然表示赞赏!

0 投票
1 回答
705 浏览

mongodb - MongoDB multikey:最大(推荐,有效)键数?

我有“提要”集合,每个提要都有评论。因此,当有人对提要发表评论时,他会被添加到 Mongo 的多键字段“订阅者”中。

然后,当我需要获取用户 A 的所有带有新评论的提要时,我会请求带有 {subscribers:"A"} 的提要。

通常有 2-5 条评论,但有时(在热门提要上)可能有超过 100 条评论和超过 100 条订阅者。

我知道不建议使用包含太多键的多键字段。那么多少算太多?

我问是因为我需要决定 - 我是使用多键还是直接向每个用户发送评论更好。在这种情况下,我必须为每个订阅者复制提要 - 并且集合会增长得非常快 - 我认为这也不好:1000 个用户,每个用户后面跟着 10 个用户,每个用户每天执行 10 个操作 = 每 10 个记录 1 000 000天!

0 投票
1 回答
2041 浏览

mongodb - MongoDB 标签键索引

回顾我发现MongoDB: get documents by tags的一些教程,似乎大多数标签都是作为项目列表创建的。在我的架构中,我想要动态标签(键值对),因此集合中的每个项目都有一个标签字段,如下所示:

但是我想对标签字段内的键进行索引。AFAIK,这是不可能的(即使使用多键索引),因为键可以是任意的?

我是否需要将架构迁移到如下所示:

如果是这样,我的索引将如下所示:

正如这里所建议的:

http://www.mongodb.org/display/DOCS/Using+Multikeys+to+Simulate+a+Large+Number+of+Indexes