我的应用程序是我使用MongoDb在node.js上编写的韩英词典。问题是组织数据库,以便我可以有韩语-英语和英语-韩语方向与相同的单词。在MySQL中,我会使用包含所有单词的表,以及带有单词引用的多对多连接表。
例如,我有
A是C
A是D
B是C
A的翻译是C,D-单向
C的翻译是A,B-另一个方向
如何在Mongo中组织数据库?
发布于 2012-12-26 16:45:33
如果我没理解错的话。
假设你有这个收藏。
db.collection({'en': 'word_en', 'kr':'word_kr'})如果你想搜索等同于‘en’的韩语单词,只需写下:
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迁移
https://stackoverflow.com/questions/14037779
复制相似问题