美文网首页
Nodejs使用mongoosastic

Nodejs使用mongoosastic

作者: 赵仝 | 来源:发表于2017-12-29 20:05 被阅读0次

为了同步的将数据保存到mongodb以及Elasticsearch中,这里我们使用一个叫做mongoosastic的插件,如果你想使用mongoosastic,建议你阅读一下mongoose的用法

首先我们安装mongoosastic:

npm install mongoosastic -S

首先我们要做准备工作:

  • 启动mongodb
  • 启动eleasticearch
  • 启动kibana(为了观察eleasticearch的数据)

下面的代码连接的数据库是runoob,使用集合是user。本demo保存一个name为mmmm的文档。然后观察数据库和搜索引擎的数据。

数据库连接代码如下:

var mongoose = require('mongoose')

// mongodb 数据库连接地址
const mongdbUrl = 'mongodb://localhost/runoob'

// 连接mongodb数据库
mongoose.connect(mongdbUrl)

// 获取连接对象
var db = mongoose.connection

db.on('error', console.error.bind(console, 'connect error'))

var main = {
  getConnection: (callback) => {
    db.on('open', () => {
      console.log('连接成功')
      callback(db)
    })
  },
  closeConnection: () => {
    db.close((err) => {
      if (err) {
        console.log('数据库关闭异常')
      } else {
        console.log('数据库正常关闭')
      }
    })
  }
}
module.exports = main

具体的实现如下:

var mgc = require('./mongodbConnection')
var mongoose = require('mongoose')
var mongoosastic = require('mongoosastic')

var Schema = mongoose.Schema

var userSchema = new Schema({
  name: Schema.Types.String,
  age: Schema.Types.Mixed,
  description: Schema.Types.String
})
userSchema.plugin(mongoosastic, {
  hosts: [
    'localhost:9200'
  ]})

var User = mongoose.model('user', userSchema)

var u = {'name': 'mmmm', age: 100, description: 'LLL'}
mgc.getConnection((db) => {
  User.create(u, (err, res) => {
    console.log('保存')
    if (err) throw err
    console.log('数据:' + res)
  })
})

此时我们分别观看数据库和搜索引擎的数据。


数据库mongodb 搜索引擎Elasticsearch

可以看到数据已经同时保存到了数据库和搜索引擎。

参考资料
mongoose:http://www.nodeclass.com/api/mongoose.html
mongoosastic:https://www.npmjs.com/package/mongoosastic
Elasticsearch:https://www.elastic.co/products/elasticsearch

相关文章

  • Nodejs使用mongoosastic

    为了同步的将数据保存到mongodb以及Elasticsearch中,这里我们使用一个叫做mongoosastic...

  • NodeJS获取GET和POST请求

    NodeJS获取GET请求 使用NodeJS获取GET请求,主要是通过使用NodeJS内置的querystring...

  • nodejs 到底是什么?

    理解 NodeJs Nodejs 自己使用了Openssl.在Nodejs 0.6之前, Nodejs是动态链接到...

  • DDNS For NodeJs

    DDNS For NodeJs GIT仓库 引言 DDNS For NodeJs 是使用nodejs实现的DDNS...

  • 项目构建---全步骤

    nodeJS安装 1.使用bower必须要安装nodeJS,因为bower就是用nodeJS编写的,nodeJS是...

  • vue开发(一)使用vue-cli搭建项目

    一、安装nodejs(主要是使用cnpm) 下载安装对应的nodejs版本 nodejs链接 安装完成后,使用命...

  • Express 入门

    安装 NodeJS 安装 NodeJS 在终端中,使用下面的命令安装 NodeJS: curl --silent ...

  • nodejs大纲

    nodejs大纲 目录 nodejs是什么 使用nodejs创建一个服务器(接口) nodejs的模块系统 nod...

  • 你所知道的node.js

    目录 nodejs是什么 使用nodejs创建一个服务器(接口) nodejs的模块系统 nodejs文件系统 路...

  • 01-Docker实战,搭建NodeJs环境

    目的 实现简单的docker的nodejs容器,使用Dockerfile构建我们的使用nodejs开发的系统 技术...

网友评论

      本文标题:Nodejs使用mongoosastic

      本文链接:https://www.haomeiwen.com/subject/fbjwgxtx.html