zoukankan      html  css  js  c++  java
  • Mongodb

    MongoDB

    使用前的小插曲

    • 启动mongodb
    • mongod --dapath '数据库目录'
    • 默认端口 27017

    基本操作

    • show dbs 查看所有存在磁盘上的数据库
    • show tables 查看当前数据库存在磁盘上的数据表
    • use 数据库 切换数据库 如果没有就创建
    • 数据库.表名 创建表

    数据:

    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,
    		}
    	}
    ]
    

    数据增删改查

    增加 insert

    db.user.insert({'id':1, 'name':'alex','age':18})

    官方推荐写法

    db.user.insertOne({})

    db.user.insertMany({})

    查看 find

    db.user.find()

    db.user.findOne({})

    db.user.find({'id':2, 'age':23}) 并列条件

    $or : db.user.find({ $or:[{'id':2, },{'age':23}}) 或 满足一个即可

    同一个字段的 或 条件

    $in : db.user.find({age:{$in:[18,19,20]}})

    子集检索

    db.user.find({ what :{$in: [ 1, 2]}})

    $all : 满足所有条件

    db.user.find({what: {$all:[a,b,c]}})

    更新 update 修改器 $set

    db.user.update({'age':23},{$set:{'username':'wusir'}})

    官方推荐写法:
    db.user.updateOne({'name':"alex"},{$set:'{'age':22}'})

    db.user.updateMany({'name':"alex"},{$set:'{'age':22}'})

    删除 remove/delete

    db.user.remove({'age': 50})

    官方推荐写法:
    db.user.deleteOne({'name':'alex'})

    db.user.deleteMany({'name':'alex'})

    $修改器:

    $set : 暴力修改

    $unset : 暴力删除字段

    db.user.updateOne({'name':'alex},{$unset:{'hobby':1}})

    $inc : 引用增加 在原有的数值上增加 正数增加,负数减少

    db.user.updateMany({},{$inc:{age:1}})

    array修改器:

    $push 增加元素 : db.user.updateOne({'name':'alex'},{$push:{'hobby':'烫头'}})

    $pull 删除元素 :db.user.updateOne({'name':'alex'},{$pop :{'hobby':抽烟}})

    $ pushAll 迭代增加 : db.user.update({'name'.'alex'},{$pushAll:{'hobby':[1,2,3]}})

    $pop 删除最后一条数据/第一条:

    最后一条 db.user.updateOne({'name':'alex'},{$pop:{'hobby':1}})

    第一条 db.user.updateOne({'name':'alex'},{$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中的Object

    db.user.updateOne({"hobby.age":84},{$set:{"hobby.$.age":73}})

    Object中的Array

    db.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中的字典,这个数据类型就是字典

    N#ull:空数据类型 , 一个特殊的概念,None Null

    Timestamp:时间戳

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

    MongoDB中的跳过选取排序:
    skip(5) 跳过五条数据
    limit(5) 只显示五条数据
    分页 skip(5).limit(5)

    sort({age:1}) 正序
    sort({age:-1}) 倒序

    如果三个关键字同时出现 1.sort 2.skip 3.limit

    与顺序无关

    pymongo:
    find_one
    insert_one
    insert_many
    update_one
    update_many
    delete_one
    delete_many

    sort("key",1)

  • 相关阅读:
    ~虚拟现实论文~
    Vega Prime Distributed 模块的中文总结
    怎样在程序中使用vgPicker移动物体
    黑客档案
    在VBA中连接SQL SERVER数据库
    VC中调用Matlab引擎的设置
    在VB应用程序中单击按钮打开word文档
    matlab调用ansys的方法
    实现VC与Matcom的接口步骤
    vega编程中文资料
  • 原文地址:https://www.cnblogs.com/zzy7372/p/10278864.html
Copyright © 2011-2022 走看看