MongoDB

Posted 许七安

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB相关的知识,希望对你有一定的参考价值。

1.数据库
关系型数据库:mysql  收费 速度快 字段类型
非关系型数据库:MongoDB 不收费 速度慢一点
ps:数据库存储的类型都是字符串
    灾难容错:多建立几个数据库,存储数据,当一个地方的数据库损坏,去别处拷贝即可
2.安装MongoDB
1.在MongoDB所在的文件夹建立一个data文件夹
2.在data文件夹里建立一个db文件夹
3.在MongoDB的 bin文件夹里运行mongod.exe文件,运行之后关掉即可
4.在当前的文件夹里运行cmd,进入指令运行。mongod --dbpath 磁盘名:datadb
5.复制MongoDB的bin文件夹的路径,做环境变量的配置,为了可以在全局使用,在环境变量中找到path,将复制的路径粘贴到最后,记得与前面的路径用英文状态下的;分隔。
6.运行win+r,进入命令面板,运行mongo --dbpath 磁盘名:datadb.出现27017即是安装成功啦
3.MongoDB指令(端口号是27017)
1.show dbs 查看服务器中有多少个数据库
2.use <数据库名称> 创建数据库(如果数据库中没有表的话,那么数据库不会显示,如果存在这个表名则是切换,不存在则是创建)
3.db  查看当前使用的是哪个数据库
4.db.createCollection(‘表名‘) 创建表
5.db.getCollection(‘表名‘) 使用某一张表
6.db.geeCollectionName(‘表名‘)  查看当前数据库里有哪些表
7.db.<表名>.save({key:val})  向表中添加数据
8.db.<表名>.find()  查看所有的数据
9.db.<表名>.update({key:val},{$set:{key:val}})  修改数据,第一个参数先找到要修改的数据,第二个参数修改成的数据
ps:db.<表名>.update({key:val},{$set:{key:val},$inc:{key:val}}) $set,$inc不能同时修改同一个字段
10.db.<表名>.remove({key:val}) 删除指定的数据
    db.<表名>.remove({})  删除所有的数据
11.查找指定范围的数据
    > db.<表名>.find({key:{$gt:val}})
    < db.<表名>.find({key:{$lt:val}})
    >= db.<表名>.find({key:{$gte:val}})
    <= db.<表名>.findd({key:{$lte:val}})
12.模糊查询
    db.<表名>.find({key:/需要查询的数据/})  匹配所有的字段
    db.<表名>.find({key:/^需要查询的数据/}) 匹配以这个字符开头的字段
    db.<表名>.find({key:/需要查询的数据$/}) 匹配以这个字符结尾的字段
13.查找指定列的数据
    (//在查找这个指令中第一个参数是筛选的内容(如果是一个空对象则代表查找全部) 参数2是对筛选内容的过滤)
db.<表名>.find({},{key:1,key:0}) 1:显示  0:隐藏
14.分页
db.<表名>.find().skip(n).limit(m)
    n = (page -1 ) *limit(m)
        m : 每页显示多少个
        page:当前的页码
15.查找一条数据
db.<表名>.findOne({可以:val})
16.排序
db.<表名>.find().sort({key:1})   升序
db.<表名>.find().sort({key:-1})  降序
17.db.<表名>.find().count() 查看数据库中有多少条数据
    
4.代码中操作MongoDB
const MongoClient = require("mongodb").MongoClient;//引入MongoDB模块
let url = "mongodb://127.0.0.1:27017";//定义服务器地址
let db_name = "bk1824";//需要链接的数据库
MongoClient.connect(url,(err,client)=>{//参数1:链接的地址 参数2 回调
if(err){
console.log("链接失败")
}else{
console.log("链接成功")
}
 
//链接数据库 链接表
const collection = client.db(db_name).collection("student");
 
// collection.save({//添加数据
// name:"萌神",
// age:22
// })
 
 
 
//collection.remove({name:"zhangsan"})//删除数据
 
 
//collection.update({name:"lisi"},{$set:{name:"不知火舞"}})//修改数据
 
//查
// collection.find().toArray().then((data)=>{
// console.log(data)
// })
})
 

以上是关于MongoDB的主要内容,如果未能解决你的问题,请参考以下文章

MongoDBMongodb——GridFS存储

mongoDBmongoDB副本集实战

MongoDBMongoDb数据结构

MongoDBmongodb设置用户访问权限

MongodbMongodb复制和分片

MongoDBMongoDB的安装教程