博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB
阅读量:4944 次
发布时间:2019-06-11

本文共 3520 字,大约阅读时间需要 11 分钟。

前戏:

  启动Mongodb
  mongod --dbpath "数据库目录"
  默认端口 27017

  show dbs 查看所有存在磁盘上的数据库

  show tables 查看当前数据库存在磁盘上的数据表

  use 数据库 创建数据库或切换数据库

  ######使用了不能存在的对象即创建该对象######

  数据库.表名 创建表

概念:

Mysql:    id      name    age        duixiang    hobby    1        jwb        73        2            2    2        ywb        84        1            null

MongoDB:

[        {            "id":1,            "name":"jwb",            "age":73,            "hobby":["ywb","lwb"],            "duixiang":{                "id":2,                "name":"ywb",                "age":84            }        },        {                    "id":2,            "name":"ywb",            "age":84,            "duixiang":{                "id":1,                "name":"jwb",                "age":73,            }        }    ]

mysql                         mongodb

数据库                        数据库
表                               collections
列                               Field
row                             documents

数据增删改查

增加 insert

  #db.user.insert({"id":1,"name":"jwb","age":73})

官方推荐写法

  db.user.insertMany([{}])  db.user.insertOne({})

查看 find

db.user.find()db.user.findOne({})db.user.find({
"id":2,"age":85}) 并列条件或条件:$or : db.user.find({$or:[{age:73},{name:"ywb"}]})同一个字段的 或条件$in : db.user.find({age:{$in:[73,84,86]}})子集检索db.user.find({what:{$in:[2,1]}})$all : 满足所有条件db.user.find({what:{$all:[2,1,3]}})

数学比较符:

$gt : 大于 db.user.find({age:{$gt: 73}})$gte: 大于等于$lt : 小于$lte: 小于等于$eq : 等于 :也是等于

 

"_id" : ObjectId("5c3e84cf1e235402547fa40c")

更新:update 修改器 $set

#db.user.update({"age":84}, {$set:{"username":"jinjiaodawangba"}})官方推荐写法:db.user.updateOne({
"name":"jwb"},{$set:{
"age":99}})db.user.updateMany({
"name":"jwb"},{$set:{
"age":99}})

删除:remove / delete

#db.user.remove({"age":85})官方推荐写法:db.user.deleteOne({
"name":"jwb"})db.user.deleteMany({
"name":"jwb"})

$修改器:

$set : 暴力修改 $unset : 暴力删除字段 db.user.updateOne({
"name":"ywb"},{$unset:{
"hobby":1}})$inc : 引用增加 在原有值的基础上增加 db.user.updateMany({},{$inc:{age:1}})array修改器:$push 增加元素 :db.user.updateOne({
"name":"ywb"},{$push:{
"hobby":"jwb"}})$pull 删除元素 :db.user.updateOne({
"name":"ywb"},{$pull:{
"hobby":"jwb"}})$pushAll 迭代增加 :db.user.updateOne({
"name":"ywb"},{$pushAll: {
"hobby":[1,2,3]}})$pop 删除最后一条数据/第一条 :最后一条 db.user.updateOne({
"name":"ywb"},{$pop:{
"hobby":1}})第一条 db.user.updateOne({
"name":"ywb"},{$pop:{
"hobby":-1}})$ 字符:["hj","tt",1,2] # {"hobby":"hj"} hj 是hobby列表中的第0个元素 就把 0 这个数据放在了 $ 中db.user.updateMany({hobby:"hj"},{$set:{
"hobby.$":"喝酒"}})

###### $ 存储符合条件的元素下标索引 ######

Object操作

db.user.updateOne({
"kecheng.name":"python"},{$set:{
"kecheng.price":19800}})db.user.updateOne({
"kecheng.name":"python"},{$inc:{
"kecheng.price":500}})Array中的Objectdb.user.updateOne({
"hobby.age":84},{$set:{
"hobby.$.age":73}})Object中的Arraydb.user.updateOne({
"kecheng.class":15},{$set:{
"kecheng.class.$":20}})

数据类型:

  ObjectID :Documents 自生成的 _id

  String: 字符串,必须是utf-8

  Boolean:布尔值,true 或者false (这里有坑哦~在我们大Python中 True False 首字母大写)
  Integer:整数 (Int32 Int64 你们就知道有个Int就行了,一般我们用Int32)
  Double:浮点数 (没有float类型,所有小数都是Double)

  Arrays:数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦)

  Object:如果你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典
  Null:空数据类型 , 一个特殊的概念,None Null

  Timestamp:时间戳

  Date:存储当前日期或时间unix时间格式 (我们一般不用这个Date类型,时间戳可以秒杀一切时间类型)

 

MongoDB中的跳过选取排序:

  skip(5) 跳过五条数据
  limit(5) 只显示五条数据
  分页 skip(5).limit(5)

  sort({age:1}) 正序

  sort({age:-1}) 倒序

  pymongo排序 sort("key",pymongo.AESCENDING = 1)

  ymongo排序 sort("key",pymongo.DESCENDING = -1)

  如果三个关键字同时出现

  1.sort 2.skip 3.limit

  

 

转载于:https://www.cnblogs.com/chenxi67/p/11252528.html

你可能感兴趣的文章
[leetcode]250. Count Univalue Subtrees统计节点值相同的子树
查看>>
理解Backtracking
查看>>
使用Jsoup 抓取页面的数据
查看>>
C#获取URL参数值
查看>>
Struts 框架 之 文件上传下载案例
查看>>
【重走Android之路】【路线篇(二)】知识点归纳
查看>>
graphviz入门
查看>>
CSS可以和不可以继承的属性
查看>>
Python基础(三)
查看>>
Continuous integration
查看>>
hl7 V2中Message Control ID的含义及应用
查看>>
IOS 4个容易混淆的属性(textAligment contentVerticalAlignment contentHorizontalAlignment contentMode)...
查看>>
C#HttpHelper类1.3正式版教程与升级报告
查看>>
Quartz和TopShelf Windows服务作业调度
查看>>
让ie9之前的版本支持canvas
查看>>
排序规则
查看>>
percent的用法
查看>>
Hibernate三种状态详解
查看>>
判断一个数是否是2^N次方
查看>>
js中几种实用的跨域方法原理详解
查看>>