我正在尝试使用mongodb索引构建搜索模块,但不确定如何在使用mongoose创建的集合中使用它
即, db.books.createIndex({“Title”:“text”})这在mongo shell中工作正常 books是一个名为bookish的数据库内的集合
但如何在nodejs应用程序中使用它,其中我定义了很少的apis调用
var express = require('express');
var mongoose = require('mongoose');
router = express.Router();
var cors = require('cors');
module.exports = function (app) {
app.use(router);
};
/*+++++++++++++++++++++++++++++++++++++++++ Defining Model Starts++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
Books = mongoose.model('Books');
/*+++++++++++++++++++++++++++++++++++++++++ Defining Model Stops++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
/*+++++++++++++++++++++++++++++++++++++++++ Router Starts++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
router.route('/api/book/')
.get(function(req,res){
Books.find({},function(err,books){
console.log( req.params.id);
res.send(books);
})
});
router.route('/api/delete/book/:id')
.post(function(req,res){
console.log("delete id"+req.params.id)
Books.findOne({bookId: req.params.id}, function(err,updateRemoveBook) {
updateRemoveBook.isDeleteBook= 0;
updateRemoveBook.save();
res.send(updateRemoveBook);
});
});
router.route('/cerateIndex')
Books.createIndex({"subject":"text","content":"text"})
在这个文件中如何在这本书上创建索引,即这里的书籍是模型的参考,但创建索引应该在集合上调用
我无法做到像
db.Books.createIndex({"subject":"text","content":"text"})
我指的是这篇文章来执行索引 http://code.tutsplus.com/tutorials/full-text-search-in-mongodb--cms-24835
不确定如何将它与nodejs应用程序一起使用请提供如何解决它的建议点一些可以展示相同的样本
答案 0 :(得分:0)
您可以使用模型架构的 index()
方法创建文本索引:
bookSchema = new mongoose.Schema({"subject": String, "content": String},{"collection": "books"});
bookSchema.index({ "subject": "text", "content": "text" });
Books = mongoose.model('Books', bookSchema);