node操作MongonDB数据库

npm i mongodb

连接数据库

const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://127.0.0.1:27017/';
MongoClient.connect(url,function(err,db){ 
 if(err) {throw err}; 
 console.log('连接成功'); 
 db.close();
}
)

插入数据

插入多条数据

const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://127.0.0.1:27017/';
MongoClient.connect(url,function(err,db){  
if(err) {throw err}; 
 console.log('连接成功'); 
 var dbo = db.db('my');//连接 my 数据库 
 const myobj = [{name:'cxk',like:['唱,跳,rap,打篮球']},  {name:'wxy',like:'踩缝纫机'}];  dbo.collection("stus").insertMany(myobj,function(err,res){//连接stus集合并插入多条数据    if(err) {throw err};  
  console.log("文档输入成功 插入文档数为",res.insertedCount);  
  console.log(res);   
 db.close();  
}
)
}
)

插入一条数据

const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://127.0.0.1:27017/';
MongoClient.connect(url,function(err,db){  
if(err) {throw err}; 
 console.log('连接成功'); 
var dbo = db.db('my');//连接 my 数据库 

const myobj = {name:'cxk',like:['唱,跳,rap,篮球']}; 

dbo.collection("stus").insertOne(myobj,function(err,res){//连接stus集合并插入一条数据 
 
  if(err) {throw err};   
 console.log("文档输入成功");  
  db.close(); 

 })})

查询数据

const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://127.0.0.1:27017/'
;MongoClient.connect(url,function(err,db){  
if(err) {throw err}; 
 var dbo = db.db('my');//连接 my 数据库  
const whereStr = {"name":'cxk'}  
const whereStr2 = {"name":{    $in:['cxk','wyf']  }}  dbo.collection("stus").find(whereStr2).toArray(function(err,res){   
 if(err) {throw err};  
  console.log(res);   
 db.close();  
})})

查询集合所有数据

查询数据const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://127.0.0.1:27017/';
MongoClient.connect(url,function(err,db){  
var dbo = db.db('my');//连接 my 数据库  dbo.collection("stus").find({}).toArray(function(err,res){   
 if(err) {throw err};    
console.log("文档输入成功 插入文档数为",res.insertedCount);  
  console.log(res);    
db.close(); 
 })})

findone查询一个数据

更新数据

更新一条数据

const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://127.0.0.1:27017/';
MongoClient.connect(url,function(err,db){ 
 if(err) {throw err}; 
 var dbo = db.db('my');//连接 my 数据库
  const whereStr = {"name":'cxk'}  
const updataStr = {$set:{"name":'xz'}}  dbo.collection("stus").updateOne(whereStr,updataStr,function(err,res){   
 if(err) {throw err};  
  console.log('更新成功'); 
   db.close();  
})})

更新多条数据

更新多条数据MongoClient.connect(url,function(err,db){ 
 if(err) {throw err};  
var dbo = db.db('my');//连接 my 数据库 
 const whereStr = {"name":'cxk'} 
 const updataStr = {$set:{"name":'xz'}}  dbo.collection("stus").updateMany(whereStr,updataStr,function(err,res){ 
   if(err) {throw err};  
  console.log('更新成功 更新数据数量为',res.modifiedCount);   
 db.close(); 
 })})

连表查询

连表查询
MongoClient.connect(url,function(err,db){ 
 if(err) {throw err}; 
 var dbo = db.db('my');//连接 my 数据库
  const myobj = {_id:1,product_id:154,status:1}  dbo.collection("orders").insertOne(myobj,function(err,res){    
if(err) {throw err};   
 console.log("文档输入成功");   
 db.close();  
})})


MongoClient.connect(url,function(err,db){ 
 if(err) {throw err}; 
 console.log('连接成功'); 
 var dbo = db.db('my');//连接 my 数据库  
const myobj = [    {_id:154,name:'笔记本电脑'},    {_id:155,name:'耳机'},  
{_id:156,name:'台式电脑'}  ]; 
 dbo.collection("products").insertMany(myobj,function(err,res){//连接stus集合并插入一条数据    if(err) {throw err};    
console.log("文档输入成功 插入文档数为",res.insertedCount);   
 console.log(res);  
  db.close(); 
 })})


MongoClient.connect(url,function(err,db){ 
 if(err) {throw err}; 
 console.log('连接成功');  
var dbo = db.db('my');//连接 my 数据库 
 dbo.collection("orders").aggregate([//聚合    
{      
$lookup:      
{        from:'products', //右集合        
        localField:'product_id', //左集合join字段
        foreignField:'_id',   //右集合join字段
        as:'orderdetails'   //新生成字段(类型array)     
 }
    }  
]).toArray(function(err,res){   
 if(err) throw err      
  console.log(JSON.stringify(res));   
 db.close() 
 })})

从orders集合中拿出product_id与products集合的_id进行比对 并用新生成字段orderdetails存储
[{

"_id":1,"product_id":154,"status":1,

"orderdetails":[{"_id":154,"name":"笔记本电脑"}]

}]

删除数据

删除数据
MongoClient.connect(url,function(err,db){ 
 if(err) {throw err}; 
 console.log('连接成功');  
var dbo = db.db('my');//连接 my 数据库 
 const myobj = {"name":"cxk"} 
 dbo.collection("stus").deleteOne(myobj,function(err,res){//删除一条数据  
  if(err) {throw err};   
 console.log('文档删除成功');  
  db.close(); 
 })})


MongoClient.connect(url,function(err,db){  
if(err) {throw err}; 
 console.log('连接成功'); 
 var dbo = db.db('my');//连接 my 数据库  
const myobj = {"name":"wyf"} 
 dbo.collection("stus").deleteMany(myobj,function(err,res){//删除多条数据  
 if(err) {throw err};  
  console.log('文档删除成功 删除文档数量为',res.deletedCount);    
db.close();  
})})

猜你喜欢

转载自blog.csdn.net/qq_60587956/article/details/126207032