Javascript 当多语言存储在集合中时,如何使用Mongoose获取数据
我已将数据保存在mongo db中,如Javascript 当多语言存储在集合中时,如何使用Mongoose获取数据,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我已将数据保存在mongo db中,如 { "title": { "ar": "arabic name", "en": "english name" }, "description": { "ar": "ar-description", "en": "arabic description" },
{
"title": {
"ar": "arabic name",
"en": "english name"
},
"description": {
"ar": "ar-description",
"en": "arabic description"
},
"subCategories": [{
"title": {
"ar": "arabic name",
"en": "english name"
}],
}
预期产出:
{
"title": "arabic name",
"description": "arabic description",
"subCategories": [{"title": "arabic name"}],
}
如何根据语言(en,ar)查询mongoose以给出此结果。我用的是猫鼬、nodejs和express。
如果不能与猫鼬,那么还有其他解决方案吗?
谢谢:)最好的方法是存储一个
非故意的文档
{
"title": {
"ar": "arabic name",
"en": "english name"
},
"description": {
"ar": "ar-description",
"en": "arabic description"
},
"subCategories": [{
"title": {
"ar": "arabic name",
"en": "english name"
}],
}
将成为
// ar doc
{
"lang": "ar",
"title": "Arabic name",
"description": "ar-description",
"subCategories": [{
"title": "arabic name"
}],
}
// en doc
{
"lang": "en",
"title": "English name",
"description": "en-description",
"subCategories": [{
"title": "english name"
}],
}
为了找到应收账款单据
Model.find({lang:'ar'})
将为您提供预期的结果。与其像这样保存数据,不如将数据格式化为更简单的格式。将数据作为一个整体分为英文和阿拉伯文。类似于:{'en':[{'title':'english name',…},{..}],'arabic':[{'title':'arabic name',…},{..},{..}]}@ShoyebMemon那么,如果按照您的方法保存数据,我如何查询get数据?