mongodb - Mongo 中的双向字典

标签 mongodb dictionary bidirectional

我的应用程序是我使用 MongoDb 在 node.js 上编写的韩语-英语词典。问题是组织数据库,这样我就可以用相同的词进行韩英和英韩方向。在 MySQL 中,我会使用所有单词表和带有单词引用的多对多连接表。
例如我有
A是C
A是D
B是C
A 的翻译是 C、D - 一个方向
C的翻译是A,B - 另一个方向
我如何在 Mongo 中组织数据库?

最佳答案

如果我没理解错的话。

假设你有这个收藏。

db.collection({'en': 'word_en', 'kr':'word_kr'})

如果你想搜索 en 等价的 'korean' 词,只需写:

db.collection.find({'kr': 'word'})

反之亦然

db.collection.find({'en': 'word'})

不要忘记为集合创建索引。

此外,请确保您的索引不是唯一的,这样您就可以添加多个引用。所以在你的例子的扩展中,你会得到这样的东西:

db.collection({'en': 'A', 'kr':'C'})
db.collection({'en': 'A', 'kr':'D'})
db.collection({'en': 'B', 'kr':'C'})

当你想要为 A 翻译时:

db.collection.find({'en': 'A'})

你得到一个包含 C 和 D 的数组。类似于从 C

移动

关于mongodb - Mongo 中的双向字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14037779/

相关文章:

.net - 双向命名管道问题

javascript - 创建一个新文档,使用聚合对具有特定值的字段进行求和

node.js - Redis 缓存和 Mongo 的持久性架构

javascript - 异步并行最终回调不会触发

python - 按值获取键,字典,python

arrays - 在 Swift 4 的自定义 "indexOf"函数中获取第一个索引

python - Python dicts 如何保持按键顺序

android - 如何制作双向 RecyclerView?

spring - 无法为双向 Spring Data JPA 和 Spring REST 正确设置 @ManyToMany 和 @OneToOne 关系

mongodb - 如何为 "date"创建索引?