我試圖建立使用貓鼬和的NodeJS一個簡單的關鍵詞全文檢索,這是迄今爲止代碼:貓鼬,的NodeJS,全文搜索
var db = mongoose.createConnection('localhost', config.mongoDbName)
, ContSchema = Schema({
'idUser': String,
'title': String,
'category': String,
'slug': String,
'description': String
})
.index({
'title':'text',
'description':'text'
})
, ContModel = db.model('Cont', ContSchema);
db.on('error', function (err) {
console.error.bind(console, 'Mongoose connection error:' + err);
});
db.once('open', function() {
process.stdout.write('Connection to mongodb db done...');
});
話,我搜索查詢:
var getAllBy = function (limit, offset, keywords) {
var sort
, find
, findScore;
if (!!keywords) {
find = {'$text':{'$search':keywords}};
findScore = {'score':{'$meta':'textMatchScore'}};
sort = {'score':{'$meta':'textMatchScore'}};
} else {
sort = {'_id':'desc'};
}
return new RSVP.Promise(function (resolve, reject) {
ContModel.find(find, findScore).limit(limit).skip(offset).sort(sort).exec(function (err, data) {
if (err){
reject(err);
} else {
resolve(data);
}
});
});
}
它不工作,它在控制檯返回此錯誤:MongoError:無法規範化查詢:壞的badValue排序規範
我其實不能到f用這個來解決真正的問題,你能幫我解決嗎?
謝謝
您正在使用什麼版本的MongoDB?此處使用的文本搜索語法僅適用於2.6發行版 – 2014-09-23 08:08:31
@Neil Lunn MongoDB shell版本:2.6.4 – sbaaaang 2014-09-23 08:13:33
僅供參考您可以使用較新的shell並連接到較舊的服務器。所以這真的是我所問的「服務器版本」。 – 2014-09-23 08:20:02