了不起的node.js读书笔记之mongodb数据库交互
简介
本文主要介绍如何通过node.js使用mongodb数据库,并针对其中的常见操作进行详细说明。读者需要有一定的node.js和mongodb基础才能更好地理解本文内容。
安装mongodb驱动程序
首先需要安装mongodb驱动程序,使用npm安装即可:
npm install mongodb
连接到数据库
在使用mongodb之前,需要先连接到指定的数据库,以下代码展示了如何连接到本地的test数据库:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/test';
MongoClient.connect(url, function(err, db) {
if (err) throw err;
console.log("数据库已连接!");
db.close();
});
插入数据
插入数据是使用mongodb最常见的操作之一。以下代码演示了如何使用insertOne()方法向集合中插入一条数据:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/test';
MongoClient.connect(url, function(err, db) {
if (err) throw err;
const dbo = db.db('test');
const myobj = { name: "node.js", age: 10 };
dbo.collection("users").insertOne(myobj, function(err, res) {
if (err) throw err;
console.log("文档插入成功");
db.close();
});
});
查询数据
以下代码演示了如何使用find()方法查询集合中的数据:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/test';
MongoClient.connect(url, function(err, db) {
if (err) throw err;
const dbo = db.db('test');
dbo.collection("users").find({}).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
更新数据
以下代码演示了如何使用updateOne()方法更新集合中的一条数据:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/test';
MongoClient.connect(url, function(err, db) {
if (err) throw err;
const dbo = db.db('test');
const myquery = { name: "node.js" };
const newvalues = { $set: {age: 11 } };
dbo.collection("users").updateOne(myquery, newvalues, function(err, res) {
if (err) throw err;
console.log("文档更新成功");
db.close();
});
});
删除数据
以下代码演示了如何使用deleteOne()方法删除集合中的一条数据:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/test';
MongoClient.connect(url, function(err, db) {
if (err) throw err;
const dbo = db.db('test');
const myquery = { name: "node.js" };
dbo.collection("users").deleteOne(myquery, function(err, obj) {
if (err) throw err;
console.log("文档删除成功");
db.close();
});
});
示例说明
示例1
假设我们有以下的users集合数据:
[
{
"name": "Mike",
"age": 21,
"sex": "male"
},
{
"name": "Lucy",
"age": 18,
"sex": "female"
},
{
"name": "Bob",
"age": 25,
"sex": "male"
}
]
以下代码演示了如何查询所有性别为male的用户:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/test';
MongoClient.connect(url, function(err, db) {
if (err) throw err;
const dbo = db.db('test');
dbo.collection("users").find({ sex: "male"}).toArray(function(err, result) {
if (err) throw err;
console.log(result);
db.close();
});
});
输出结果为:
[
{
"name": "Mike",
"age": 21,
"sex": "male"
},
{
"name": "Bob",
"age": 25,
"sex": "male"
}
]
示例2
以下代码演示了如何删除年龄小于20的用户:
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017/test';
MongoClient.connect(url, function(err, db) {
if (err) throw err;
const dbo = db.db('test');
const myquery = { age: { $lt: 20 } };
dbo.collection("users").deleteMany(myquery, function(err, obj) {
if (err) throw err;
console.log(obj.result.n + " 条文档已删除");
db.close();
});
});
输出结果为:
{
"acknowledged": true,
"deletedCount": 1
}
总结
本文介绍了如何使用node.js和mongodb进行数据库交互,并详细说明了插入、查询、更新、删除操作的方法和示例。读者可以在实际应用中根据需求灵活地进行调整和扩展。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:了不起的node.js读书笔记之mongodb数据库交互 - Python技术站