node.js - 在 mongoose 和 nodejs 中提取多种语言的数据
问题描述
我有这样的架构。
var mongoose = require('mongoose')
var Schema = mongoose.Schema
var newsschema = new Schema({
name_ru: {type: String, required: true, maxlength: 100, minlength: 3},
name_en: {type: String, required: true, maxlength: 100, minlength: 3},
name_uk: {type: String, required: true, maxlength: 100, minlength: 3},
desc_ru: {type: String, required: true, minlength: 3},
desc_en: {type: String, required: true, minlength: 3},
desc_uk: {type: String, required: true, minlength: 3},
created_date: {type: Date, default: Date.now}
},{collection:'news'})
var news= mongoose.model('news', newsschema)
module.exports = news
When English is selected, only English I want the data to come.
例如,如果有这样的事情,你能帮忙吗?
name = name_en
和
desc = desc_en
解决方案
如果我理解正确,您只想获取name_en
和desc_en
存在的数据,那么为什么不删除required
架构中的参数并仅根据语言插入那些需要的字段。
在这种情况下,您可以使用简单的查找查询来获取数据,
db.collection.find({"name_en":{$exists:true},"desc_en":{$exists: true}})
如果那不可能,
db.collection.find({},{name_en:1,desc_en:1,created_date:1})
我相信就足够了。
推荐阅读
- internet-explorer - 如何在 Internet Explorer 10 或更高版本中使用 Create-React-App
- r - 了解如何在 R 中使用 ggplot2 为可发布的图形调整图形大小
- java - 无法在 JAXB 解组中映射字段,字段填充为空
- r - 基于传递的参数的通用 polimorph 函数
- mysql - Mysql GROUP_CONCAT 基于计数相乘
- c# - MVVM 向窗口添加控制台
- android - Android.view.ContextMenu 显示太小而无法使用
- google-chrome - 如何使用不同的 Chrome devtools 协议版本
- python - Scrapy Xpath 不包含命令不起作用
- mysql - 将当前 Auth 用户帖子添加到 Laravel eloquent join 查询