2013-08-18 22 views
0

我需要幫助,試圖找出如何創建查詢關鍵字數組的查詢的最佳方法。Mongoose/MongoDB查找輸入數組中的元素是否在模式屬性關鍵字數組中

我希望能夠與陣列["work", "hi"]在架構

["work", "school"]比較數組搜索和應該返回該文件。現在我正在使用

this.resumes.find({ 
    keywords: { 
     $all: term.split(' ') 
    } 
}).limit(50) 
.select('-keywords').exec(function (err, resumes) {}); 

但是,這隻適用於如果兩者都在搜索數組中都在模式數組中。那麼我怎麼做一個部分匹配?

回答

0

我認爲使用$in運營商將使它更容易些:

this.resumes.find({ keywords: { $in: [ "work", "hi" ] } })

基本上,對單個陣列領域的$or。從文檔:

$在這裏選擇字段值在 等於任何值指定數組

文件
0
this.resumes.find({$or: [{keywords: term1}, {keywords: term2}]})