【问题标题】:how to use mongodb indexing in nodejs application如何在 nodejs 应用程序中使用 mongodb 索引
【发布时间】:2016-02-09 10:58:37
【问题描述】:

我正在尝试使用 mongodb 索引构建搜索模块,但不确定如何在使用 mongoose 创建的集合上使用它

即, db.books.createIndex({"Title":"text"}) 这在 mongo shell 中工作正常 其中 books 是一个位于名为 bookish 的数据库中的集合

但是如何在我定义了很少的 api 调用的 nodejs 应用程序中使用它

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 应用程序一起使用,请提供有关如何使用它的建议,指向一些可以演示相同的示例

【问题讨论】:

    标签: node.js mongodb indexing full-text-search


    【解决方案1】:

    您可以使用模型架构的 index() 方法创建文本索引:

    bookSchema = new mongoose.Schema({"subject": String, "content": String},{"collection": "books"});    
    bookSchema.index({ "subject": "text", "content": "text" });
    Books =  mongoose.model('Books', bookSchema);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-19
      • 2016-07-08
      • 1970-01-01
      相关资源
      最近更新 更多