作者:我也不走了_931_327 | 来源:互联网 | 2023-10-11 00:57
文章目录 一、MongoDB是什么? 二、使用 1. 下载安装 2. 指令 3. mongoose模块
一、MongoDB是什么? MongoDB 是一种文档数据库,它所具备的可扩展性和灵活性可以满足您对查询和索引的需求
二、使用 1. 下载安装 1.下载安装包:https://www.mongodb.com/download-center/community 2.安装流程: next 勾选同意 -> next 选择complete 去掉Install MongoDB as a Service -> next 去掉Install MongoDB Compass -> next install … finish 3.在cmd中执行 mongod 启动数据库(保留当前终端窗口,等待连接),提示缺少目录:c:\data\db 需要自己创建 4.在cmd中执行 mongo 连接操作数据库,执行 show dbs,显示数据库,安装成功!!!
注意:提示找不到命令,需要去配置系统环境变量(配置完重启cmd后执行3 4) 配置系统环境变量:C:\Program Files\MongoDB\Server\4.2\bin
2. 指令 mongod 启动数据库(保留当前终端窗口,等待连接) mongo 连接操作数据库show dbs 查看所有数据库 db 查看当前数据库 use mydb 切换到指定数据库(不存在则创建数据库) db.dropDatabase() 删除当前数据库(注意切换到指定数据库)show collections 查看当前数据库已有集合(表) db.createCollection("users") 创建集合(表) db.users.drop() 删除当前数据库中的users集合db.users.insert({name:'xm',age:23,sex:1}) 向集合中插入文档(集合不存在会被自动创建)db.users.remove({'title':'123'}) 删除所有title为123的数据 db.users.remove({'title':'123'},1) 删除1条title为123的数据 db.users.remove({}) 删除所有数据db.users.update({'title':'123'},{$set:{'title':'456'}}) 更新集合内容db.users.find() 查询当前集合所有内容 db.users.find({key1:value1}) 查询当前集合指定内容 db.users.find({age:{$gt:25}}) 查询age大于25的文档 db.users.find({age:{$lt:25}}) 查询age小于25的文档 db.users.find({age:{$ne:25}}) 查询age不等于25的文档 db.users.find({age:{$in:[20,25]}}) 查询age为20和25的文档 db.users.find({$or:[{age:{$gt:22}},{sex:1}]}) 查询age大于22 或 sex为1的文档 db.users.find({$and:[{age:{$gt:22}},{sex:1}]}) 查询age大于22 且 sex为1的文档 db.users.find({name:/m$/}) 正则表达式查询name结尾是m的文档
3. mongoose模块 mongoose模块,node操作数据的插件
文档:http://mongoosejs.net/docs/index.html 安装:npm install mongoose mongoose 的一切始于 Schema 通过schema对象来操作数据库
const mongoose = require ( 'mongoose' ) mongoose. connect ( 'mongodb://localhost/test' , { useNewUrlParser: true , useUnifiedTopology: true } ) let db = mongoose. connection db. on ( 'error' , console. error. bind ( console, 'connection error:' ) ) db. on ( 'open' , function ( ) { console. log ( '====== db connect ok======' ) } )
const mongoose = require ( 'mongoose' ) const userSchema = mongoose. Schema ( { user: { type: String, required: true } , pass: { type: String, required: true } } ) let User = mongoose. module ( 'users' , userSchema) module. exports = User
返回一个promise对象
User. insertMany ( { user: 'jack' , pass: 123 } ) . then ( ( data) => { console. log ( '添加成功' ) } ) . catch ( ( err) => { console. log ( err) } ) User. remove ( { user: 'jack' } ) . then ( ( data) => { console. log ( data) } ) User. update ( { user: 'jack' } , { $set : { user: 'lucy' } } ) . then ( ( data) => { console. log ( data) } ) User. find ( { pass: '123' } ) . then ( ( data) => { console. log ( data) } )