2020年一篇文章入门Mongodb

logo 不要问我为什么挂图,听说挂图可以提供浏览量 介绍 MongoDB是一种存储二进制JSON格式的非关系数据库。 版本 小版本号,奇数为开发板、偶数为稳定版。 3.2版本后不支持32位系统。 下载安装(4.2) 下载:https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2012plus-4.2.2-signed.msi 安装:无脑下一步 配置:配置环境变量 默认端口:27017 核心概念 数据库:数据的仓库 集合:类似于数组 文档:Mongo最小的单位,一般操作的是文档 注意:在MongoDB中数据库和集合不用手动创建。 系统变量 db:当前数据库的名字 基本指令 show dbs:列出数据库 use <数据库名>:进入数据库 注意:如果没有数据库会自动创建数据库。 show collections :显示数据库中所以的集合。 db..drop():删除集合 db.dropDatabase(): 删除所在的数据库 CRUD指令 插入文档 db..insert(JSON) 向集合中插入一个JSON文档。 查询文档 db..find() 查询中的所有JSON文档,返回的是数组。 db..findOne({:}) 查询与等于的JSON文档,返回的是对象。 内嵌查询:{“filed.filed”:value} 分页:.skip().limit() 修改文档 db..update(query,doc,options) 查询到query,将query匹配的那个JSON进行替换为doc。 操作符:在doc中写 $set:{}:修改某一个字段。 $unset:{}:删除某个字段。 $push:{}: 添加元素到一个数组 $addToSet:{}: 添加不重复的元素到数组 参数:options mulit:boolean 修改多个 注意:默认改一个。 删除文档 db..deteleOne() db..deleteMany() db..remove() 注意:默认删除多个。 文档关系 一对一 一对多 多对多 文档其他操作 sort db..find().sort(SortJSON); SortJSON: { filed:1 | -1 } 说明: 对filed字段进行 1-升序或 -1-降序 排序 投影 db..find({},MapJSON); MapJSON: { filed:0 | 1 } 说明: 显示或隐藏某个字段 0-隐藏 1-显示 Mongoose Node操作mongodb的库。 优势 可以对文档创建一个模式结构(Schema) 对模型中的对象进行约束。 自动类型转换 对象 Schema:模式对象 Model:集合就是模型 Document:就是JSON Schema->Model->Document 安装 npm i -S mongoose 使用 const mongo = require('mongoose'); const { Schema, model } = mongo; const stuSchema = new Schema({ name:String, age:Number, gender:Number, address:String }); const Student = model('Student', stuSchema); mongo.connection.once('open',()=>console.log("连接成功")); mongo.connection.once('close', ()=> console.log("断开连接")); async function start() { const connect = await mongo.connect('mongodb://localhost:27017/dome1',{useNewUrlParser:true ,useUnifiedTopology:true}); // const resRowInfo = await Student.create({ // name:100, // age:"15", // gender:"男" // }); // // const resRowInfo = await Student.find(); // const resRowInfo = await Student.remove({gender:null}); const resRowInfo = await Student.findOne() resRowInfo.name = '猪八戒'; resRowInfo.address = '高老庄'; resRowInfo.save(); console.log(resRowInfo); // connect.disconnect(); } start();

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):