1
몽구스와 전체 텍스트 검색을 두 필드로 섞으려고합니다. 나는 대부분의 쿼리 유형을 테스트하는 데 썼지 만 항상 실패했습니다. MongoDB의 쉘 쿼리이 하나입니다 :이 예에서 몽구스 : 부울 '또는'와일드 카드로 쿼리
db.feeds.item.find({lang:"en", $or:[{title: /searchexpression/}, {body: /searchexpression/}] })
내가
제목 또는
몸 필드 또는 두 필드에 (정규식 포함) 검색 식을 일치하는 경우에만 영어 문서를 반환하려면 . 이 쿼리는 작동하지만 문제는 :-(, 내가 말했듯이, 때
몽구스으로 적응하기 위해 노력하고, 내가 사용하고
일부 표현을 시작하셨습니까 't 작업 :
exports.fullTextSearch = function(lang, text, callback) {
MyModel.find({lang:lang, $or: [{title:/text/},{body:/text/}]}).exec(callback);
MyModel.find({lang:lang, $or: [{title: new RegExp('\/'+text+'\/')}, {body:new RegExp('\/'+text+'\/')}]}).exec(callback);
MyModel.find({lang:lang}).or({title:/text/},{body:/text/}).exec(callback);
MyModel.find({lang:lang}).or({title:new RegExp('\/'+text+'\/')},{body:new RegExp('\/'+text+'\/')}).exec(callback);
}
은 대단히 감사합니다!루이스 CAPPA을.
이
나는 previosly 같은 쿼리를 시도했지만 작동하지 않았다. 나는 다시 당신이 제안한 것과 정확히 아무것도 복사하지 않았다 :-(나는 아마 이것이 몽구스 버그라고 생각하기 시작했다. ... – lcappa
RegExp에 행운이 포함되어있는 쿼리를 시도했다. – lcappa
나는 쿼리를 단순화했다. MyModel.find ({lang : lang, title : new RegExp ('\ /'+ text + '\ /')}). exec (콜백); 그것은 몽구스 관련 버그 일 수 있습니다. 정규식 또는 문서화되지 않은 쿼리 구성 요소 포함 – lcappa