3

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

4

1 回答 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 回答