【发布时间】:2017-01-26 01:05:40
【问题描述】:
我正在开发一项搜索功能,我必须在其中搜索文档中的多个字段。
我有以下情况:
1) 获取field1,field2,field3,field4与字符串(nayyar)匹配的所有文档
2) 获取 field1,field2,field3,field4 与字符串 (nayyar) AND 性别应为 (输入值) 或 'N/A' 匹配的所有文档。
3) 获取 field1,field2,field3,field4 与字符串 (nayyar) 匹配且年龄应介于 ageHigh 和 ageLow 之间且性别应为(输入值)或“N/A”的所有文档。
4) 获取 field1,field2,field3,field4 与字符串 (nayyar) 匹配且年龄应介于 ageHigh 和 ageLow 之间且性别应为 (输入值) 或 'N/A' AND ArrayField in 'atoz' 的所有文档.
var Schema = new Schema({
lowAge : {
type: Number,
default: 0
},
highAge : {
type: Number,
default: 0
},
gender : {
type: String,
default: 'N/A'
},
field1 : {
type: String
},
field2 : {
type: String
},
field3 : {
type: String
},
field4 : {
type: String
},
arrayField : {
type: [String]
}
});
Schema.index({field1:1, field2:1, field3:1, field4:1});
Schema.index({field1:1, field2:1, field3:1, field4:1, arrayField:1,lowAge:1, highAge:1, gender:1,});
这是正确的索引方式吗?
【问题讨论】:
标签: node.js mongodb mongoose mongoose-schema