Node(八)之MongoDB简单应用

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: Node(八)之MongoDB简单应用

初始:

1.下载mongodb的安装包,https://www.mongodb.com/download-center/community

2.安装

3.安装完成后在data文件夹下新建一个db文件夹

4.加入环境变量:复制安装目录下bin文件夹的目录,右击我的电脑=>属性(见下图)在环境变量中粘贴bin文件路径,用分号隔开环境变量

1.webp.jpg5.打开控制台输入:mongod 查看是否安装成功

6.使用mongo命令连接至数据库

db操作:

这里新建一个名字为User的数据库

use User------数据库名称(切换当前操作的数据库,若没有则是创建新数据库)
show dbs------显示所有数据库
db.User.insert({"name":"abc"})-----插入name为'abc'的一项

collection:集合

db.createCollection('集合名');  创建集合

db.集合名.drop()  删除一个集合

show collections  查看所有的集合

每个数据库都要有集合,不然创建的是临时数据

document操作:

插入文档:

db.col.insert({

       "email" : "admin",

       "password" : "root"

})

查找文档:

db.col.find(条件,不填则查找全部)

更新文档:

db.col.update({
  "email" : "admin"
}, {
  $set: {
    "email" : "admin1",
     "password" : "root1"
  }
}, {
  multi: true
})

寻找所有email为admin的值,并且更新值email为admin1和password为root1,multi设置为true时可以更新多个文档

覆盖更新:

db.col.save({
  '_id':3,
  'email': 'abc'
})

根据传入的id,覆盖旧值

删除文档:

db.col.remove({
  '_id':3
})

删除id为3的那一项

db.col.remove({})

将col全部删除

限制显示的条数:

db.col.find().limit(2)   表示显示查找到的前两项

跳过显示的数据:

db.age.find().skip(2)   表示跳过查找到的前两项

排序:

db.col.find().sort({age:1})  根据age升序排列(-1是降序排列)

连接Node

首先下载node插件:

npm install mongodb

然后执行以下代码:

var MongoClient = require("mongodb").MongoClient;//获取mongo模块
var mongoDB = "mongodb://localhost:27017/";
//新建数据库连接
MongoClient.connect(
    mongoDB,
    function (err, db) {
        if (err) {
            throw err;
        }
        console.log("连接成功!");
        db.close();//断开连接
    }
);

Node查询:

var MongoClient = require("mongodb").MongoClient;
var mongoDB = "mongodb://localhost:27017/";
MongoClient.connect(
    mongoDB,{useNewUrlParser: true},
    function (err, db) {
        if (err) {
            throw err;
        }
        console.log("连接成功!");
        var dball = db.db('UserList');//数据库名
        dball.collection('allUser').find({}).toArray(function(err,result) {//查询语句
            if (err) {
                console.log(arr);//抛错
                return;
            }
            console.log(result);//打印查询结果(这里是查询所有)
            db.close();
        });
    }
);

Node插入:

var MongoClient = require("mongodb").MongoClient;
var mongoDB = "mongodb://localhost:27017/";
MongoClient.connect(
    mongoDB,{useNewUrlParser: true},
    function (err, db) {
        if (err) {
            throw err;
        }
        console.log("连接成功!");
        var dball = db.db('UserList');      
        // 添加
        dball.collection("allUser").insert([{//插入两项,放在数组中
            email: '12345',
            password:'54321'
        }, {
            email: 'root',
            password:'root'
        }], function (err, result) {
            if (err) {
                console.log('Error:' + err);
                return;
            }
            console.log(result)//返回插入结果
        })
        db.close();//关闭数据库连接
    }
);

Node更新:

var MongoClient = require("mongodb").MongoClient;
var mongoDB = "mongodb://localhost:27017/";
MongoClient.connect(
    mongoDB,{useNewUrlParser: true},
    function (err, db) {
        if (err) {
            throw err;
        }
        console.log("连接成功!");
        var dball = db.db('UserList');
        // 更新数据库
        dball.collection("allUser").update({//查找email为abcde的,将email换成12345,password换成12345
            email: 'abcde'
        }, {$set:{
            email: '12345',
            password:'12345'
        }}, function (err) {
            if (err) {
                console.log('Error:' + err);
                return;
            }
        })
        db.close();
    }
);

Node删除:

var MongoClient = require("mongodb").MongoClient;
var mongoDB = "mongodb://localhost:27017/";
MongoClient.connect(
    mongoDB,{useNewUrlParser: true},
    function (err, db) {
        if (err) {
            throw err;
        }
        console.log("连接成功!");
        var dball = db.db('UserList');
        // 删除
        dball.collection("allUser").remove({
        //删除email为12345的那项
            email: '12345'
        }, function (err) {
            if (err) {
                console.log('Error:' + err);
                return;
            }
        })
        db.close();
    }
);






相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
1月前
|
JavaScript 前端开发 API
探索后端技术:Node.js的优势和实际应用
【10月更文挑战第6天】 在当今数字化时代,后端开发是任何成功软件应用的关键组成部分。本文将深入探讨一种流行的后端技术——Node.js,通过分析其核心优势和实际应用案例,揭示其在现代软件开发中的重要性和潜力。
111 2
|
1月前
|
存储 缓存 NoSQL
MongoDB 是什么?有哪些应用场景?
MongoDB 是一个由 MongoDB Inc. 开发的基于分布式文件存储的面向文档的数据库,自 2009 年推出以来,以其高性能、易部署、模式自由、强大的查询语言和出色的可扩展性受到广泛欢迎。它适用于互联网应用、日志分析、缓存、地理信息系统等多种场景。MongoDB 支持多种编程语言,并提供了丰富的社区支持,便于开发者快速上手。结合板栗看板等工具,MongoDB 可进一步提升数据存储、分析和同步的效率,支持个性化功能实现,助力团队协作和项目管理。
|
20天前
|
NoSQL 前端开发 JavaScript
Node.js 连接 MongoDB
10月更文挑战第20天
31 0
|
26天前
|
运维 JavaScript Linux
容器内的Nodejs应用如何获取宿主机的基础信息-系统、内存、cpu、启动时间,以及一个df -h的坑
本文介绍了如何在Docker容器内的Node.js应用中获取宿主机的基础信息,包括系统信息、内存使用情况、磁盘空间和启动时间等。核心思路是将宿主机的根目录挂载到容器,但需注意权限和安全问题。文章还提到了使用`df -P`替代`df -h`以获得一致性输出,避免解析错误。
|
1月前
|
NoSQL 前端开发 JavaScript
Node.js 连接 MongoDB
10月更文挑战第9天
44 0
|
1月前
|
JavaScript NoSQL 前端开发
使用 Node.js 和 MongoDB 构建实时聊天应用
【10月更文挑战第2天】使用 Node.js 和 MongoDB 构建实时聊天应用
|
域名解析 新零售 JavaScript
如何加快 Node.js 应用的启动速度
实现分钟到毫秒的转化
1851 0
如何加快 Node.js 应用的启动速度
|
JavaScript C++ Serverless
如何加快 Node.js 应用的启动速度
实现分钟到毫秒的转化
3303 0
|
2月前
|
JavaScript
NodeJs的安装
文章介绍了Node.js的安装步骤和如何创建第一个Node.js应用。包括从官网下载安装包、安装过程、验证安装是否成功,以及使用Node.js监听端口构建简单服务器的示例代码。
NodeJs的安装
|
1月前
|
JavaScript 开发工具 git
已安装nodejs但是安装hexo报错
已安装nodejs但是安装hexo报错
25 2