1. mongod 启动服务端
2. mongo 启动客户端
3. show databses 查看本地磁盘的数据库
4. use 库名 切换到要使用的数据库
5. db 查看当前使用的数据库
6. show tables 查看当前数据库存放在磁盘上的数据表
7. use 新库名 创建数据库, 当前创建的数据库没有存放在磁盘中
8. db.tablename 新表名 创建数据表,没有存放在磁盘中
***注:
如果表中有数据,就自动保存在磁盘上
1 ObjectId :Documents 自动生成的 _id
2 _id:ObjectId("5cb69a23815ea7295f8bad43") 自动生成的 json数据中不包含ObjectId类型 id类型uuid
3 String: 字符串,必须是utf-8
4 Boolean:布尔值,true 或者false (这里有坑哦~在我们大Python中 True False 首字母大写)
5 Integer:整数 (Int32 Int64 你们就知道有个Int就行了,一般我们用Int32)
6 Double:浮点数 (没有float类型,所有小数都是Double)
7 Arrays:数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦)
8 Object:深度<=4 如果你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典
9 Null:空数据类型 , 一个特殊的概念,None Null
10 Timestamp:时间戳 通常不用这个数据类型 如果存储时间 Double
11 Date:存储当前日期或时间unix时间格式 (我们一般不用这个Date类型,时间戳可以秒杀一切时间类型)
① objectID
"_id" : ObjectId("5b151f8536409809ab2e6b26") #"5b151f85" 代指的是时间戳,这条数据的产生时间 #"364098" 代指某台机器的机器码,存储这条数据时的机器编号 #"09ab" 代指进程ID,多进程存储数据的时候,非常有用的 #"2e6b26" 代指计数器,这里要注意的是,计数器的数字可能会出现重复,不是唯一的 #以上四种标识符拼凑成世界上唯一的ObjectID #只要是支持MongoDB的语言,都会有一个或多个方法,对ObjectID进行转换 #可以得到以上四种信息 #注意:这个类型是不可以被JSON序列化的
②插入时
③显示的数据
db.tablename.insert({"key":"value"}) 捎带手写入库和表磁盘 官方推荐写法: db.users.insertOne({}) db.users.insertMany([{},{},{}])
db.tablename.remove({}) 删除所有数据 db.tablename.remove({age:73}) 删除所有age==73的数据 官方推荐写法 db.users.deleteOne() 删除符合条件的第一条数据 db.users.deleteMany() 删除符合条件的所有数据
db.tablename.update({"name":"AlexDSB"},{"$set":{"age":84}}) 只修改符合条件的一条数据 $set - set修改器 强制替换覆盖 官方推荐写法 db.tablename.updateOne() 更新符合条件的第一条数据 db.tablename.updateMany() 更新符合条件的所有数据 array+Object : db.users.updateOne({"cours.name":"装X"},{$set:{"cours.$.score":"000"}})
# $:指选中的下标位置
db.tablename.find() 查询符合条件的所有数据 db.tablename.find({"name":"AlexDSB"}) db.tablename.findOne() 查询符合条件的第一条数据
1 $lt : 小于 √ 2 $lte: 小于等于 √ 3 $gt : 大于 √ 4 $gte: 大于等于 √ 5 $ne : 不等于 6 $eq or 冒号 : 等于
示例:
Array数据类型会自动遍历 1. $in 或者(相同字段查询) db.users.find({age:{$in:[19,109]}}) 2. $or 或者(不同字段查询) db.users.find({$or:[{age:19},{age:84}]}) 3. $and or 逗号 并列条件(两个或多个条件都要满足) 4. $all - Array数据类型 子集查询 db.users.find({hobby:{$all: ["罗玉凤"]}})
示例:
①array数据自动遍历列表
② $in
③ $or
④ $all
1 $set - set修改器 强制替换覆盖
2 $unset - 强制删除字段
3 $inc - 引用增加
array操作:
4 $push append 在array中追加 db.users.update({name:"AlexDSB"},{$push:{hobby:"特斯垃圾"}})
5 $pushAll extend 在array中追加列表中的所有元素 db.users.update({name:"AlexDSB"},{$pushAll:{hobby:["22寸轮毂","V8","欧林斯"]}})
6 $pull remove 在array中删除一个元素 db.users.update({name:"AlexDSB"},{$pull: {hobby:"V8"}})
7 $pullAll 在array中删除一堆元素 db.users.update({name:"AlexDSB"},{$pullAll: {hobby:["小敏","芙蓉姐姐"]}})
8 $pop pop 删除第一个 -1 或 最后一个 1 的值 db.users.update({name:"AlexDSB"},{$pop: {hobby:1}})
示例:
①
②
存储符合条件的元素下标索引
用于修改字段
1. sort 排序 db.users.find({}).sort({ age:1 }) db.users.find({}).sort({ age:1 , birthday:-1 }) 2. limit(1) 选取条目 db.users.find({}).limit(3000) 3. skip(1) 跳过 db.users.find({}).skip(1) 4. 先排序 再跳过 最后选取(不管写的是什么顺序) db.users.find({}).limit(3).skip(2).sort({ age:-1 }) 5. 分页: (page-1)*num db.users.find({}).limit(num).skip((page-1)*num)
MongoDB --- 02. 基本操作,增删改查,数据类型,比较符,高级用法,pymongo
原文:https://www.cnblogs.com/sc-1067178406/p/10726700.html