zoukankan      html  css  js  c++  java
  • 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() 方法

  • 相关阅读:
    [ASP.NET]有关缓存的一点点小思考(1)
    [C#]winfrom中DataGridView中下拉列表框数据绑定的一些小技巧
    [c#]自己制作类似winrar的打包程序(1)
    [ASP.NET]验证码的实现以及用户密码的简单加密
    [TEST]用live writer写博客
    【转载】什么是Code Smell 代码异味?
    【转】.NET NPOI操作Excel常用函数
    SpringRoo插件发布
    基于JChardet自动检测文件编码,批量转换文件编码,解决乱码问题
    FirstStep:搭建scala开发环境IDEA+scala插件+scala2.8
  • 原文地址:https://www.cnblogs.com/yuyujuan/p/13930301.html
Copyright © 2011-2022 走看看