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