课程名称:Node.js工程师养成计划
课程章节: 第九章
课程讲师:北瑶
课程内容:
基于文件存储的分布式NoSQL 数据库系统
数据结构由键值对 key value 组成
拥有强大的查询能力
特性
文档型数据库 较强的可拓展性,拥有强大的查询语言,多种存储引擎
高性能,高可用,水平拓展,支持数据嵌入,子文档查询,支持副本集与分片
多种查询类型支持 且支持数据聚合查询,文本检索,地址位置查询
使用场景:
对数据处理性能有较高要求
需要借助缓存层来处理数据
需要高度的伸缩性
奇数 为测试版
偶数 为正式版 稳定
mongodb 在windows里面需要配置环境
且在6.0以后的版本中 不在主动提供shell方法 要另外下载shell才能使用 mongosh 代替原来的mongo
mytest 是自己创建得一个数据库
cc 是一个表
//use mytest //db.cc.insert({x:1,y:2}) //db.cc.insertOne({username:'lisi',age:12}) //db.cc.insertMany([{username:'lisi1',age:16},{username:'lisi2',age:18}]) //db.cc.find() //db.cc.find({username:'lisi'}) //db.cc.find({age:{$lt:15}}) //db.cc.find({age:{$gt:15}}) //db.cc.findOne({age:{$gt:15}}) //db.cc.updateOne({username: 'lisi'},{$set:{age:30}}) //db.cc.updateMany({age:{$gt:20}},{$set:{username: 'zhang'}}) db.cc.deleteOne({age:18})
$lt 小于 $gt 大于
node 链接 Mongodb
npm install mongodb
const { MongoClient } = require('mongodb') const client = new MongoClient('mongodb://127.0.0.1:27017') const clientFun = async function (c) { await client.connect() const db = client.db('mytest') return db.collection(c) } const main = async () => { var cc = await clientFun('cc') // var d = await cc.find() // var d = await cc.insertOne({username:'monica',age:60}) // var d = await cc.insertMany([ // { username: 'Monica', age: 12 }, // { username: '卡卡', age: 6 }, // { username: '安迪', age: 12 }, // { username: '朱丽叶', age: 20 } // ]) // var d = await cc.find({age: {$gt:15}}) // var d = await cc.find({age:{$gt:15}}) // var d = await cc.updateOne({age:{$lt:15}},{$set:{username:'lisi222'}}) // var d = await cc.updateMany({age:{$lt:15}},{$set:{username:'lisi'}}) // var d = await cc.deleteOne({age:{$gt:50}}) var d = await cc.deleteMany({age:{$lt:15}}) // console.log(await d.toArray()); console.log(d); } main().finally(() => client.close())