我的应用程序是我正在使用 MongoDb 在 node.js 上编写的韩英词典。问题是组织数据库,这样我就可以使用相同的单词进行韩语-英语和英语-韩语方向。在 MySQL 中,我会使用所有单词的表和带有单词引用的多对多连接表。
例如,我有
A 是 C
A 是 D
B 是 C
A 的翻译是 C,D - 一个方向
C 的翻译是 A,B - 另一个方向
如何在 Mongo 中组织数据库?
问问题
453 次
1 回答
1
如果我理解你的话。
假设你有这个集合。
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
于 2012-12-26T08:45:33.027 回答