MongooseJS查询匹配严格且松散

时间:2015-08-24 20:59:18

标签: javascript mongodb mongoose

我正在尝试针对此SO question

构建一个MongooseJS查询

我在MongoDB中拥有的是一个名为Notifications的集合。该模型如下所示:

var NotificationSchema = new Schema({
    topic: { type: String, required: true },
    location: { type: String, enum: locations, required: true},
    createdAt: Date,
    updatedAt: Date,
    notifiedAt: Date,
    createdBy: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'User',
        required: true
    }
});

topic字段可能如下所示:"Apple"Apple

现在我有一系列主题,例如var topics = ["Apple", "AppleEvent", "Android", "Google"]

如果有topic字段= Apple的通知,则该通知应与"Apple""AppleEvent"匹配

如果有topic字段= "Apple"的通知,则应严格匹配"Apple"

为获得最佳性能,我该如何构建此查询?通过使用"Apple"运算符,只需找到严格匹配$in的通知就足够了:

Notification.find({'topic' : {$in: topics}})

我无法弄清楚如何查找*Apple*的最佳方式(性能方面)?这是否意味着我必须对集合中的所有通知进行查询,以查看哪些通知以引号开头和结尾?

0 个答案:

没有答案