前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Node操作MongoDB

Node操作MongoDB

作者头像
切图仔
发布2022-09-14 15:18:50
2600
发布2022-09-14 15:18:50
举报
文章被收录于专栏:生如夏花绚烂生如夏花绚烂

引入第三方模块 cnpm i mongodb

连接数据库

代码语言:javascript
复制
let MongoClient = require('mongodb').MongoClient
let url = "mongodb://localhost:27017/"
MongoClient.connect(url,{useNewUrlParser:true,useUnifiedTopology:true},function(err,db){
     if(err)throw err
    var dbo = db.db('test')
...
})

数据增删改查

数据插入

代码语言:javascript
复制
var myobj = {name:'tz',type:'1',like:['happy','test']}
    // //单条数据插入
dbo.collection('users').insertOne(myobj,function(err,res){
        if(err)throw err
        console.log('文档插入成功')
        db.close()
})

多条数据插入

代码语言:javascript
复制
 var myobj = [
        {'name':'t','type':1,'address':'sc'},
        {'name':'a','type':1,'address':'sc'},
        {'name':'n','type':1,'address':'sc'},
    ]
     dbo.collection('users').insertMany(myobj,function(err,res){
        if(err)throw err
        console.log('文档插入成功插入数量为'+res.insertedCount)
        db.close()
    })

查询所有数据

代码语言:javascript
复制
 dbo.collection('users').find({}).toArray(function(err,result){
       if(err) throw err;
       console.log(result);
       db.close()
   })

where查询

代码语言:javascript
复制
 var whereSingle = {'name':'a'}
 //多个查询
   var where = {
       'name':{
           $in:['a','t']
       }
   }
   dbo.collection('users').find(where).toArray(function(err,result){
    if(err) throw err;
    console.log(result);
    db.close()
})

连表查询

代码语言:javascript
复制
 //连表查询
    //order =>production
    dbo.collection('orders').aggregate([
        {
            $lookup:
            {
                from:'products',//要连接的表
                localField:'product_id',//当前表的外键
                foreignField:'_id',//连接表(products )的主键
                as:'orderdetails'//生成数据的别名

            }
        }
    ]).toArray(function(err,res){
        if(err) throw err;
        console.log(JSON.stringify(res));
    })

更新

代码语言:javascript
复制
//更新单个 //更新多个改成updateMany
    var whereStr = {name:'a'}
    var updateStr = {$set:{name:'修改a'}}
    dbo.collection('users').updateOne(whereStr,updateStr,function(err,res){
        if(err)throw err
        console.log('文档更新成功');
        db.close()
    })

排序

代码语言:javascript
复制
  var mysort = {name:-1};//指定排序方式和字段
    dbo.collection('users').find().sort(mysort).skip(20).limit(10).toArray(function(err,result){
        if(err) throw err
        console.log(result);
        db.close()
    })

删除

代码语言:javascript
复制
 //删除 单个 /多个deleteMany
    var whereStr = {name:'a'}
    dbo.collection('users').deleteOne(whereStr,function(err,obj){
        if(err) throw err;
        console.log('文档删除成功'+obj.result.n);
        db.close()
    })
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-08-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档