我想要翻译几千个字符串(items
)。我按如下方式构建了我的MongoDB:
@document = {:item => "hello", :translations => {:fr => {:name => "bonjour",
:note => "easy"}, :es => {:name => "hola", :note => "facil"}}}
:translations字段可以包含更多语言和属性。我想运行查询,例如检索没有特定语言翻译的所有项目,或检索所有“bonjour”作为法语翻译的项目。
我看不出我怎么做到这一点。有没有更好的方法来构建我的数据库用于这些目的?我正在使用node.js。
感谢。
答案 0 :(得分:3)
我想运行查询,例如检索没有特定语言翻译的所有项目,
.find({ 'translations.fr': {$exists:false} })
...或检索所有“bonjour”作为法语翻译的项目。
.find({ 'translations.fr.name': "bonjour" })
为了这些目的,有没有更好的方法来构建我的数据库?
我相信你有正确的结构。您必须熟悉Dot Notation。
答案 1 :(得分:1)
我会说,为了你的目的,这个模型很好。您需要mongo dot notation,您可以使用$exists
查找fr
和点缀符号 -
find({ "fr.name" : "bonjour" })