【发布时间】:2015-07-21 16:24:56
【问题描述】:
非常抱歉,但是经过一天的研究和尝试所有不同的组合和 npm 包后,我仍然不确定如何处理以下任务。
设置:
- MongoDB 2.6
- Node.JS 与 Mongoose 4
我有这样的架构:
var trackingSchema = mongoose.Schema({
tracking_number: String,
zip_code: String,
courier: String,
user_id: Number,
created: { type: Date, default: Date.now },
international_shipment: { type: Boolean, default: false },
delivery_info: {
recipient: String,
street: String,
city: String
}
});
现在用户给了我一个搜索字符串,一个字符串数组,这将是我要搜索的 子字符串:
var search = ['15323', 'julian', 'administ'];
现在我想找到那些文档,其中任何字段 tracking_number、zip_code 或 delivery_info 中的这些字段都包含我的搜索元素。
我该怎么做?我知道有索引,但我可能需要一个复合索引,或者可能是一个文本索引?对于搜索,我可以使用RegEx,还是$text $search 语法?
问题是我有几个字符串要查找(我的search)和几个字段要查找。由于其中一个方面,每种方法在某些时候对我来说都失败了。
【问题讨论】:
标签: regex node.js mongodb search mongoose