• Nodejs操作MongoDB数据库


    数据库连接

    要在node.js中使用MongoDb,首先需要执行命令 npm install mongodb --save 进行安装,然后在页面中进行引入:

    const MongoClient = require('mongodb').MongoClient;
    const url = 'mongodb://127.0.0.1:27017';
    const dbName = 'mongo';
    const client = new MongoClient(url,{useUnifiedTopology:true});
    client.connect(function(error){
        if(error){
            console.log(error);
            return;
        }else{
            console.log('连接成功');
        }
    })

     由于本地测试数据库没有开启权限验证,上面可以直接连接,如果数据库开启了权限验证的话,就需要使用下面的方式进行连接:其中admin 表示用户名,123456 表示密码。

    const url = 'mongodb://admin:123456@localhost:27017/';

    创建集合

    使用 createCollection() 方法来创建集合

    const MongoClient = require('mongodb').MongoClient;
    const url = 'mongodb://127.0.0.1:27017';
    const dbName = 'mongo';
    const client = new MongoClient(url,{useUnifiedTopology:true});
    client.connect(function(error){
        if(error){
            console.log(error);
            return;
        }else{
            console.log('连接成功');
            const db = client.db(dbName);
            db.createCollection('order',function(err,res){
                if(err){
                    console.log(err);
                    return
                }else{
                    console.log(res);
                    client.close();
                }
            })
        }
    })

    删除集合

    我们可以使用 drop() 方法来删除集合,执行成功 res 返回 true,否则返回 false

     也可以使用dropCollection()来删除集合,返回结果和上面相同。

    插入文档

    单条插入

    单条插入使用insertOne(),接收一个对象:

    console.log('连接成功');
            const db = client.db(dbName);
            db.collection('order').insertOne({type:1,name:'矿泉水',price:2},function(err,res){
                if(err){
                    console.log(err);
                    return;
                }else{
                    console.log(res);
                    client.close();
                }
            })

    多条插入

    如果要插入多条数据,可以使用insertMany(),接收一个数组:

    console.log('连接成功');
            const db = client.db(dbName);
            let arr=[
                {type:1,name:'可乐',price:4},
                {type:2,name:'记号笔',price:10},
                {type:2,name:'笔记本',price:8},
            ];
            db.collection('order').insertMany(arr,function(err,res){
                if(err){
                    console.log(err);
                    return;
                }else{
                    console.log(res);
                    client.close();
                }
            })

     

     更新文档

    单条更新

    单条更新符合条件的数据,可以使用updateOne():

       

     多条更新

     如果要更新所有符合条的文档数据可以使用 updateMany():

    查询

    查询使用find(),然后使用toArray()将返回结果转为数组:

     带条件查询

     

     排序

     

     删除文档

     根据条件,单条数据的删除,使用deleteOne():

     如果要删除多条语句可以使用 deleteMany() 方法

  • 相关阅读:
    nj07---npm
    nj06---包
    nj05---模块
    nj04---事件回调函数
    nj03---阻塞和线程
    nodejs02---demo
    nodejs简介
    【转贴】内存系列一:快速读懂内存条标签
    【转贴】4个你未必知道的内存小知识
    Linux上面mount 域控的目录 超时 然后提示 error的解决办法
  • 原文地址:https://www.cnblogs.com/yuyujuan/p/13930301.html
Copyright © 2020-2023  润新知