当前位置:K88软件开发文章中心编程语言JavaScriptJS02 → 文章内容

Node.js 连接 MongoDB

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-11 7:01:18

One(whereStr, function(err, obj) {if (err) throw err;console.log("文档删除成功");db.close();});});执行成功后,进入 mongo 管理工具查看数据已删除:> db.site.find()> 如果要删除多条语句可以使用 deleteMany() 方法以下实例将 type 为 en 的所有数据删除 :





删除多条数据var MongoClient = require('mongodb').MongoClient;var url = "mongodb:





//localhost:





27017/";MongoClient.connect(url, function(err, db) {if (err) throw err;var dbo = db.db("k88");var whereStr = { type:





"en" }; // 查询条件dbo.collection("site").deleteMany(whereStr, function(err, obj) {if (err) throw err;console.log(obj.result.n + " 条文档被删除");db.close();});});obj.result.n 删除的条数。排序排序 使用 sort() 方法,该方法接受一个参数,规定是升序(1)还是降序(-1)。例如:{ type:





1 } // 按 type 字段升序{ type:





-1 } // 按 type 字段降序按 type 升序排列:





排序var MongoClient = require('mongodb').MongoClient;var url = "mongodb:





//localhost:





27017/";MongoClient.connect(url, function(err, db) {if (err) throw err;var dbo = db.db("k88");var mysort = { type:





1 };dbo.collection("site").find().sort(mysort).toArray(function(err, result) {if (err) throw err;console.log(result);db.close();});});查询分页如果要设置指定的返回条数可以使用 limit() 方法,该方法只接受一个参数,指定了返回的条数。limit():读取两条数据var MongoClient = require('mongodb').MongoClient;var url = "mongodb:





//localhost:





27017/";MongoClient.connect(url, function(err, db) {if (err) throw err;var dbo = db.db("k88");dbo.collection("site").find().limit(2).toArray(function(err, result) {if (err) throw err;console.log(result);db.close();});});如果要指定跳过的条数,可以使用 skip() 方法。skip():





跳过前面两条数据,读取两条数据var MongoClient = require('mongodb').MongoClient;var url = "mongodb:





//localhost:





27017/";MongoClient.connect(url, function(err, db) {if (err) throw err;var dbo = db.db("k88");dbo.collection("site").find().skip(2).limit(2).toArray(function(err, result) {if (err) throw err;console.log(result);db.close();});});连接操作mongoDB 不是一个关系型数据库,但我们可以使用 $lookup 来实现左连接。例如我们有两个集合数据分别为:集合1:orders[ { _id:





1, product_id:





154, status:





1 }]集合2:products[ { _id:





154, name:





'笔记本电脑' }, { _id:





155, name:





'耳机' }, { _id:





156, name:





'台式电脑' }]$lookup 实现左连接var MongoClient = require('mongodb').MongoClient;var url = "mongodb:





//127.0.0.1:





27017/";MongoClient.connect(url, function(err, db) {if (err) throw err;var dbo = db.db("k88");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();});});删除集合我们可以使用 drop() 方法来删除集合:drop()var MongoClient = require('mongodb').MongoClient;var url = "mongodb:





//localhost:





27017/";MongoClient.connect(url, function(err, db) {if (err) throw err;var dbo = db.db("k88");// 删除 test 集合dbo.collection("test").drop(function(err, delOK) { // 执行成功 delOK 返回 true,否则返回 falseif (err) throw err;if (delOK) console.log("集合已删除");db.close();});});

上一页  [1] [2] 


Node.js 连接 MongoDB