node-mongoDB
生活随笔
收集整理的这篇文章主要介绍了
node-mongoDB
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
连接数据库
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017";MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {if (err) throw err;console.log("数据库已链接!");db.close();
});创建集合
var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost:27017';
MongoClient.connect(url, { useNewUrlParser: true }, function (err, db) {if (err) throw err;console.log('数据库已连接');var dbase = db.db("runoob");dbase.createCollection('site', function (err, res) {if (err) throw err;console.log("创建集合!");db.close();});
});数据插入(如果集合不存在,会自动创建集合)
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017";MongoClient.connect(url, { useNewUrlParser: true }, function (err, db) {if (err) throw err;console.log("数据库连接成功");var dbo = db.db("runoob");var myobj = { name: "baidu", url: "www.baidu.com" };dbo.collection("web").insertOne(myobj, function (err, res) {if (err) throw err;console.log("数据插入成功");db.close();});
});数据插入(多条)
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017";MongoClient.connect(url, { useNewUrlParser: true }, function (err, db) {if (err) throw err;console.log("数据库连接成功");var dbo = db.db("runoob");var myobj = [{ name: "baidu", url: "www.baidu.com" },{ name: "google", url: "www.google.com" },{ name: "bbb", url: "www.bilibili.com" }
];dbo.collection("web").insertMany(myobj, function (err, res) {if (err) throw err;console.log("数据插入成功"+res.insertedCount);db.close();});
});查询
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017";MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {if (err) throw err;var dbo = db.db("runoob");var whereStr = {"name":'baidu'}; // 查询条件dbo.collection("web").find(whereStr).toArray(function(err, result) {if (err) throw err;console.log(result);db.close();});
});更新一条数据
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017";MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {if (err) throw err;var dbo = db.db("runoob");var whereStr = {"name":'baidu'}; // 查询条件var updateStr = {$set: { "url" : "https://www.baiduxx.com" }};dbo.collection("web").updateOne(whereStr, updateStr, function(err, res) {if (err) throw err;console.log("数据更新成功");db.close();});
});更新多条数据
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017";MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {if (err) throw err;var dbo = db.db("runoob");var whereStr = {"url":'www.baidu.com'}; // 查询条件var updateStr = {$set: { "url" : "www.baidux2.com" }};dbo.collection("web").updateMany(whereStr, updateStr, function(err, res) {if (err) throw err;console.log(res.result.nModified + " 条数据被更新");db.close();});
});输出一条数据
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017";MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {if (err) throw err;var dbo = db.db("runoob");var whereStr = {"name":'bizhan'}; // 查询条件dbo.collection("web").deleteOne(whereStr, function(err, obj) {if (err) throw err;console.log("数据删除成功");db.close();});
});删除多条数据
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017";MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {if (err) throw err;var dbo = db.db("runoob");var whereStr = {"name":'baidu'}; // 查询条件dbo.collection("web").deleteMany(whereStr, function(err, obj) {if (err) throw err;console.log("数据删除成功");db.close();});
});排序
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017";MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {if (err) throw err;var dbo = db.db("runoob");var mysort = { url: 1 };dbo.collection("web").find().sort(mysort).toArray(function(err, result) {if (err) throw err;console.log(result);db.close();});
});左联合集合1:order[{ _id: 1, product_id: 154, status: 1 }
]
集合2:products[{ _id: 154, name: '笔记本电脑' },{ _id: 155, name: '耳机' },{ _id: 156, name: '台式电脑' }
]代码
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://127.0.0.1:27017/";MongoClient.connect(url, { useNewUrlParser: true }, function(err, db) {if (err) throw err;var dbo = db.db("runoob");dbo.collection('order').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();});
});执行结果
[{"_id":1,"product_id":154,"status":1,"orderdetails":[{"_id":154,"name":"手机"}]}]其他很多(跟mongoDB的正常语法都是一样的)
mongoDB笔记: https://blog.csdn.net/u013761036/article/details/101054229指定了返回的条数
dbo.collection("site").find().limit(2).toArray(
如果要指定跳过的条数
dbo.collection("site").find().skip(2).limit(2).toArray(
删除集合
dbo.collection("test").drop(
总结
以上是生活随笔为你收集整理的node-mongoDB的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: node-多进程
- 下一篇: node-mongo封装