Mongo中的双向字典

时间:2012-12-26 08:11:57

标签: mongodb dictionary bidirectional

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

1 个答案:

答案 0 :(得分:1)

如果我理解你的话。

假设你有这个集合。

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

如果你想搜索en eqvivalent of'korore'字只写:

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

移动