关闭页面特效

mongodDB的使用以及node.js的mongod模块

mongodb

非关系型数据库,又叫nosql,缓存型,使用场景多是解决大规模数据集合多重数据种类

  1. 下载 安装帮助

  2. 配置数据文件存储位置:

找到安装目录\Server\4.0\bin\ -> cmd回车-> mongod 回车->mongod --dbpath c:\data\db

data和db目录要手动创建

  1. 服务端启动: 可选

找到安装目录\Server\4.0\bin\ -> cmd回车-> mongod 回车

一般开启会默认启动

  1. 客户端启动:

找到安装目录\Server\4.0\bin\ -> cmd回车-> mongo 回车

  1. 环境变量 可选

为了在任意盘符下去都可以启动 mongod服务端|mongo客户端,把安装目录添加到环境变量

mysql vs mongodb

mysqlmongoDb
database(库)database(库)
table(表)collection(集合)
row(一条数据)document(文档)
column(字段)field(区域)
二维表,每次存到磁盘json,存在缓存,关闭时存到磁盘存储方式

mongodb命令行操作 声明式 | obj.api()

库操作
**

查: show dbs db 查看当前库 建: use 库名 没有建,有就切换 删: db.dropDatabase() 删除当前库

集合(表)操作

建:db.createCollection('表名',{配置}) //配置:{size:文件大小,capped:true,max:条数|文档数} capped定量 //db.表(集合).isCapped() 返回 true/false 是否是定量 查:show collections / db.getCollectionNames() 删:db.表|集合.drop()

文档(row)操作

db.集合.save({}) //添加一条 db.集合.insert({}) //添加一条 db.insertOne({}) //添加一条 db.集合.save([{},{}]) //多条 db.集合.insert([{},{}]) //多条 //insert 不会替换相同ID save会

db.集合.deleteOne({要删数据条件描述}) //一条 db.集合.remove({},true) //一条 db.集合.remove({要删数据条件描述}) //多条 db.集合.remove({}) //清空表

db.集合.udpate({查询条件},{替换条件},插入boolean,全替换boolean)

查询条件

{age:22} age == 22
{age:{KaTeX parse error: Expected 'EOF', got '}' at position 6: gt:22}̲} age > 22 {a…lt:22}} age < 22
{age:{KaTeX parse error: Expected 'EOF', got '}' at position 7: gte:22}̲} age>=22 {ag…lte:22}} age<=22
{age:{ l t e : 122 , lte:122, lte:122,gte:22}} age<=122 && age>=22
{$or:[{age:22},{age:122}]} 22 or 122
{key:value,key2,value2} value && value2
{name:/正则/}

替换条件

{ s e t : 数 据 , set:{数据}, set:,inc:{age:1}}

所有:db.集合.find(条件) 条数: db.集合.find().count() 去重:db.集合.distinct(key) db.集合.find({条件},{指定要显示列区域})

指定要显示列区域

username:1 显示这个区域,其他不显示

username:0 不显示这个区域,其他显示

_id 是默认显示

db.集合.find().sort({key:1,key2:-1}) //升 db.集合.find().sort({key:-1}) //降

限定

db.集合.find().limit(number) //限定 db.集合.find().skip(number) //跳过 db.集合.findOne()//找第一个 db.集合.find().limit(1) //查询第一条

node + mongodb客户端

安装+引入

npm install mongodb -S var mysql = require('mongodb');

实例化并连接

let mongoCt = mongodb.MongoClient; mongoCt.connect('协议://地址:端口',回调(err,client)) //err 错误 client链接后的客户端

链接库和集合

let db = client.db('库名') let user = db.collection('集合名');

集合操作

//user.API() 集合操作 返回 对象 //增 insertOne(对象数据,(err,res)=>{}) //res = 对象 insertMany(arr数据,(err,res)=>{}) //res = 对象 //res.result.n 结果 ok 状态 //res.ops内容 数组 //result.insertedId 插入后的id //删: deleteOne({条件},(err,result)=>{}) //改: updateOne({条件},{更新后},(err,res)=>{}) updateMany({条件},{更新后},(err,res)=>{}) updateMany({条件},{更新后},{配置},(err,res)=>{}) //配置: upsert:true 插入 projection:true 全局替换 //查: user.find({条件},{skip:1,limit:1,projection:{key:1}},(err,result)=>{result=对象}) user.find({条件},{projection:{key:0}}).toArray((err,result)=>{reulst==arr}) user.countDocuments((err,num)=>{num返回数量}) //排 user.find(..).sort({key:-1}).toArray.. user.find({},{projection:{},sort:{key:-1}}).toArray..

关闭库

client.close()

__EOF__

作  者智勇_y
出  处https://www.cnblogs.com/blender-su/p/17758296.html
关于博主:编程路上的小学生,热爱技术,喜欢专研。评论和私信会在第一时间回复。或者直接私信我。
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!

posted @   智勇_y  阅读(9)  评论(0编辑  收藏  举报  
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
0
0
关注
跳至底部
点击右上角即可分享
微信分享提示