zoukankan      html  css  js  c++  java
  • mongoDB的使用(NodeJs)

    MongoDB相信大家都不太陌生了,但是究竟它和我们熟悉的MySQL(MariaSQL)、SQLServer有什么区别呢?

    我们熟悉的MySQL是关系型数据,每个数据表都有严格的数据结构规定,因而我们在查询数据的时候可以使用很强大很复杂的查询条件。

    而MongoDB是文档型的数据库,每个数据数据表可以储存一条条结构不一样的数据,而早期的NoSQL相对查询功能比较弱小,无法JOIN,但是这个缺点已经在最新版的Mongo中添加了$lookup来解决。


    步骤:

    1.到官网下载安装MongoDB

    2.注册mongoDB服务(window)

     值得注意地是,这里启动mongo服务需要管理员身份运行cmd,不然不会生效

     如果想删除服务,管理员身份运行cmd,使用 sc delete "mie's Mongo"

    mongod.exe --port 8090 --logpath D:dblog.txt  --logappend --noauth --install --serviceName "mie's Mongo" --serviceDisplayName "mie's Mongo" --serviceDescription "MongoDB service" --dbpath D:db --directoryperdb

    上面命令配置的参数大致是如下意思:

    端口8090,日志路径D:dblog.txt,日志扩展信息也记录,不用身份认证,注册(安装)服务到window上,

    服务名字和服务外层表示名字叫"mie's Mongo",服务描述叫"MongoDB service",数据库路径是D:db,每个数据库一个文件夹

    3.打开services.msc,启动刚刚注册的“mie's Mongo”服务

    4.使用mongo.exe 客户端登陆

    mongo.exe localhost:8090

    5.操作数据库

    use test;
    
    db.user_table.insert({age:12,name:'张三'})
    db.user_table.insert({age:33,name:'李四'})
    db.user_table.insert({pass:"123456",name:'啊咩'})
    db.user_table.insert({gender:1,name:'wangwu'})
    
    db.user_table.find()
    db.user_table.find({age:12})
    db.user_table.find({age:{$lt:18}})
    db.user_table.find({age:{$lte:12}})
    db.user_table.find({age:{$lt:18,$gt:11}})
    db.user_table.find({$or:[{age:{$lt:18}},{age:{$gt:30}}]})
    
    db.user_table.remove({age:12})
    
    db.user_table.update({age:33},{age:12,name:"路飞"})

    6.配合nodeJs使用

    const koa = require('koa');
    const MongoClient = require('mongodb').MongoClient
    
    let server;
    
    (async function(){
        server = new koa()
        server.listen(8088)
        let client = await MongoClient.connect("mongodb://localhost:8090")
        let db = await client.db('test')
        server.db = db
    })()
    
    server.use(async ctx=>{
        let table = await server.db.collection('user_table')
        await table.insert({name: '虹猫',age:999})
        await table.updateOne({age:18},{$set: { b : 1,name:'李四四'}})    
        await table.deleteOne({age:12})
        ctx.body = await (await table.find({})).toArray()
    })

    下载mongodb包:

    npm i mongodb -D

    这是官方写的nodeJs客户端

    最主要的方法:find、updateOne、deleteOne、insert

  • 相关阅读:
    羊皮卷的故事第三章
    羊皮卷的故事第五章
    羊皮卷的故事第八章羊皮卷之一
    羊皮卷的故事第十一章羊皮卷之四
    羊皮卷的故事第四章
    羊皮卷的故事第十章羊皮卷之三
    羊皮卷的故事第九章羊皮卷之二
    羊皮卷的故事第十二章羊皮卷之五
    POJ3264 Balanced Lineup RMQ
    HDUPattern and Text 枚举
  • 原文地址:https://www.cnblogs.com/amiezhang/p/8881401.html
Copyright © 2011-2022 走看看