一、安装和启动
默认监听端口:27017
添加环境变量
启动:mongod --dbpath=="d:/data/db"
可视化工具:NoSQLBooster for MongoDB
二、介绍
mongoDB是一个NoSQL文件型数据库,非常*,只要是JSON格式的都能存储。
数据类型:ObjectID、string、boolean、int、double、arrays、object、null、timestamp、date
objectID:前八位是时间戳,后八位是机器的机器码,后四位是进程id,后六位是计数器,这四个值拼成世上唯一的id
三、基本命令
在mongo中,使用了不存在的对象即创建该对象,如果这个对象是空的库或表,则先写在内存中,等有数据时再写入磁盘中。
show databases 查询本地数据库(磁盘中) use db_name 切换当前数据库 db 查看当前使用的数据库 show tables 查看当前数据库中的表(磁盘中) use 不存在的数据库名即创建数据库(内存中) db.不存在的表即创建表(内存中)
# 增 db.tablename.insert({}) db.tablename.insert([{},{}]) 插入多条 db.tablename.insertOne({}) 推荐 db.tablename.isnertMany({}) 推荐 # 删 db.tablename.remove({查询条件}) # 不指定条件则删除全部数据
db.tablename.deleteOne({})
db.tablename.deleteMany({}) # 改 db.tablename.update()
db.tablename.updateOne({}.{})
db.tablename.updateMany({},{})
$关键字还用来存储当前Array符合条件的元素的下标
db.tablename.updateOne({name:"123",hobby:"睡觉"},{$set:{"hobby.$":"吃饭"}}) 可以直接把hobby列表中的睡觉改为吃饭
db.tablename.updateOne({name:"123"},{$set:{"student.name":"123"}}) 可以直接修改字典
修改都基于$修改器 $set 强制将某字段修改,如果该字段不存在则创建 db.tablename.update({name:"123"},{$set:{name:"321"}}) $unset 清空并删除字段 db.tablename.update({name:"321"}, {$unset:{name:1}}) $inc 引用增加 db.tablename.update({name:"123"},{$inc:{age:1}}) $push $pushAll $pull $pullAll 针对Array操作,删除会删掉所有符合操作的 $pop 删除第一条或最后一条 # 查 db.tablename.find({查询条件}) db.tablename.findOne({xxx}) #返回第一条,json数据 $数字比较符,只能用于数字 $gt 大于 $lt 小于 $gte大于等于 $eq 等于 $ne 不等于 db.tablename.find({age:{$gt:70}})