广告
返回顶部
首页 > 资讯 > 数据库 >Mongodb学习总结
  • 163
分享到

Mongodb学习总结

Mongodb学习总结 2019-08-19 15:08:47 163人浏览 猪猪侠
摘要

mongoDB相关操作总结 2020/4/2 MonGodb使用的是类似与JSON字符串的形式存储数据 [ { key:value }, { key:value }, ] Mongodb使用了不存在的对

Mongodb学习总结

mongoDB相关操作总结

2020/4/2
MonGodb使用的是类似与JSON字符串的形式存储数据
[
{
key:value
},
{
key:value
},
]

Mongodb使用了不存在的对象,即创建该对象

use db 使用db数据库
show dbs 查看当前服务器中写在磁盘上的数据库
show tables 查看数据库中的collection
db 查看当前使用的数据库

增删改查:
增:
db.collection.insert({数据}) 自动生成 _id : ObjectId("")
官方推荐:
db.collection.insertOne({数据}) 插入一条数据
db.collection.insertMany([{数据},{数据}]) 插入多条数据
查:
db.collection.find({条件})
db.collection.findOne({条件})
改:
db.collection.update({条件},{$修改器:{数据}})
官方推荐:
db.collection.updateOne({条件},{$修改器:{数据}}) 更新一条数据
db.collection.updateMany({条件},{$修改器:{数据}}) 更新所有数据
删:
db.collection.remove({条件})
官方推荐:
db.collection.deleteOne({条件}) 删除一条数据
db.collection.deleteMany({条件}) 删除所有符合条件的数据

清除collection:
db.collection.drop()

$关键字
数学比较符:
$lt
$lte
$gt
$gte
$eq :
db.collection.find("score":{$gt:80})
查询关键字:
$or db.collection.find({$or:[{name:1},{age:73}]})
$in db.collection.find({age:{$in:[1,2,3,4]}}) #符合其中一个条件即可
$all db.collection.find({hobby:{$all:[1,2,3,4]}}) #子集查询

2018年12月25日:
1.$修改器 :
$set 简单粗暴 {name:value} dict["name"]=value

$unset 简单粗暴的删除字段 {$unset:{name:1}} del dict["name"]
db.user_info.updateOne({age:200},{$unset:{age:1}})

$inc 引用增加
db.user_info.updateMany({},{$inc:{age:1}})

array操作
$push 在array中追加一个新的元素 [].append(item)
db.user_info.updateOne({name:"200wansui"},{$push:{hobby:10}})

$pull 在array中删除一个的元素 [].remove(item) [].pop(-1)
db.user_info.updateOne({name:"200wansui"},{$pull:{hobby:0}})

$pop 不含索引 -1 从前往后  1 从后往前
db.user_info.updateOne({name:"200wansui"},{$pop:{hobby:1}})

$ 字符
db.user_info.updateOne({hobby:6},{$set:{"hobby.$":"六"}})
保存符合索引条件数据的下标

Object 字典操作
db.user_info.updateOne({name:"200wansui"},{$inc:{"info.tizhong":-5}})
db.user_info.updateOne({name:"200wansui"},{$set:{"info.long":12.5}})

array + Object
db.user_info.updateOne({"hobby.shengao":150},{$set:{"hobby.$.long":14}})

limit
db.user_info.find({}).limit(5)
选取数据从当前位置选择5个

skip 跳过
db.user_info.find({}).skip(2)
从0开始跳过2条数据为当前位置

sort
db.user_info.find({}).sort({ id:-1 })
根据ID进行排序 -1倒叙 1正序

limit+skip+sort
db.user_info.find({}).limit(5).skip(10)
db.user_info.find({}).limit(c).skip((p-1)*c)

db.user_info.find({}).limit(5).skip(5).sort({ id:-1 })

优先级最高的是 sort 
其次优先为 skip
最低优先级 limit

pymongo
import pymongo
from bson import ObjectId

mongo_client = pymongo.MongoClient(host="127.0.0.1",port=27017)
MONGO = mongo_client["数据库"]

查询数据
res = list(MONGO.user_info.find({}))
print(res)

res = MONGO.user_info.find_one({"id":20})
res["_id"] = str(res["_id"])

res = list(MONGO.user_info.find({"$or":[{"name":"dwb"},{"id":15}]}))
print(res)

ObjectId json操作
res_obj = MONGO.user_info.find_one({"_id":ObjectId(res["_id"])})
print(res_obj)
print(res.get("name"),type(res.get("_id")),type(res))

import json
res_json = json.dumps(res)
print(res_json)

增加数据
res = MONGO.user_info.insert_one({"name":"pymongo","age":666})
print(res,res.inserted_id)

res = MONGO.user_info.insert_many([{"name":"pymongo","age":666},{"name":"pymongo","age":666}])
print(res,res.inserted_ids)

for doc in res:
print(doc)

修改数据
res = MONGO.user_info.update_many({"age":666},{"$set":{"name":"pydwb","age":999}})
print(res,dir(res),res.raw_result)

删除数据
res = MONGO.user_info.delete_one({"id":20})
res = MONGO.user_info.delete_many({"name":1})
print(res,dir(res),res.raw_result)

skip sort limit

res = list(MONGO.user_info.find({}).limit(5))
print(len(res))

res = list(MONGO.user_info.find({}).limit(5).skip(5))
print(len(res),res)

res = list(MONGO.user_info.find({}).sort("age",pymongo.DESCENDING))
print(res)

res = list(MONGO.user_info.find({}).sort("age",pymongo.DESCENDING).skip(5).limit(2))
print(res)

python 的 update
res = MONGO.user_info.find_one({"name":"200wansui"})
print(res)
res.get("info")["shengao"] = 170
res.get("info")["tizhong"] = 130
res.get("info")["long"] = 18.5

MONGO.user_info.update_one({"_id":res.get("_id")},{"$set":res})
res = MONGO.user_info.find_one({"name":"200wansui"})
print(res)

您可能感兴趣的文档:

--结束END--

本文标题: Mongodb学习总结

本文链接: https://www.lsjlt.com/news/5289.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mongodb学习总结
    Mongodb相关操作总结 2020/4/2 Mongodb使用的是类似与json字符串的形式存储数据 [ { key:value }, { key:value }, ] Mongodb使用了不存在的对...
    99+
    2019-08-19
    Mongodb学习总结
  • MongoDB学习笔记:总览
    【MongoDB学习笔记1】基于CentOS 6.5安装MongoDBhttp://281816327.blog.51cto.com/907015/1598270 【MongoDB学习笔记2】Mo...
    99+
    2022-10-18
  • mysqlimport学习总结
    原文链接: https://www.modb.pro/db/23208xy 摘要:mysqlimport是MySQL数据库提供的一个命令行程序,可用于数据导入。...
    99+
    2022-10-18
  • WorkFlow学习总结
     最近在工作中要实现一种“流程审批”的功能,查阅资料得知,workFlow技术可以满足我的需求,于是就开始沉下心来好好学习一下这门技术。总结的学习资料也拿出来和大家共享一下。  什么是工作流: 工作流...
    99+
    2023-06-05
  • python 学习总结5
    字符串类型及操作 一、字符串类型的表示   (1)字符串:由0个或多个字符组成的有序字符序列     例如:“请输入带有符号的温度值” 或者‘c’都是字符串   (2)字符串是字符的有序序列,可以对其中的字符进行索引     例如:“请”...
    99+
    2023-01-30
    python
  • BGP学习 总结3
      BGP DECISION PROCESS 1 largest weight ( local orininated path :32768 other 0 ) 2 largest local-preefernce (BGP default...
    99+
    2023-01-31
    BGP
  • 函数学习总结
    定义 自己总结:就相当于现实中各种用途的工具,有着对数据进行各种处理的功能(实质就是比较复杂的变量?!) 分类  自定义函数和Python语言已经定义过的常用的内置函数 自定义函数的组成部分 def 函数名(参数1,参数2...): '...
    99+
    2023-01-31
    函数
  • Python学习总结__Day1
    一、Python是一门什么类型语言 1、解释型:一边编译一边执行,劣势是运行速度慢,但通过运用PyPy交互解释器(JIT技术)会让python程序执行速度快很多。优势是可移植性强。 2、强类型:即类型安全类型。除非通过强制转换,否则变量类...
    99+
    2023-01-31
    Python
  • python学习总结-----pytho
    一、python简介    python 是一种面向对象、解释性的脚本语言,遵循 GPL 协议。语法简单、社区强大、丰富的库支持。又被称为“胶水语言”。能把其他语言(主要C/C++)写的模块很轻松的结合在一起。二、python 安装 win...
    99+
    2023-01-31
    python pytho
  • mysql学习总结(一)
        作为一名小白,今天开始上传自己的学习总结。 ...
    99+
    2016-11-21
    mysql学习总结(一)
  • python 学习总结2
    温度转换问题 一、温度转换   目前有两种表示温度的方法一种是摄氏度另一种是华氏度,摄氏度的结冰点为0度,沸点为100度将温度等分刻画,华氏度的结冰点为32度,沸点为212度将温度进行等刻度划分。   现需要将按格式输入的摄氏度转换为华氏...
    99+
    2023-01-30
    python
  • python 学习总结1
    计算机与程序设计 一、计算机的概念   1.计算机是根据指令操作数据的设备。   2.计算机主要包括两个功能性一个是功能性另一个是计算性   功能性是对数据的操作,表现为数据计算,输入输出处理和结果存储   可编程性是根据一系列指令自动的...
    99+
    2023-01-30
    python
  • python 学习总结4
    数字类型及操作 一、整数类型   (1)python中的整数与数学中的概念是一致的,可以正也可以负,没有取值范围。        pow(x,y)函数是计算x的y次幂,想计算多大就多大。   (2)在整数类型中有四种进制形式      十...
    99+
    2023-01-30
    python
  • python 学习总结3
    Python蟒蛇绘制 一、实现程序如下 1 import turtle 2 turtle.setup (650, 350, 200, 200)#turtle的绘图窗体turtle.setup(width, height, start...
    99+
    2023-01-30
    python
  • Python学习总结(二)----pyt
         继续学习python中,越来越发现python的方便,也找到了一些python与C/C++的一些相同点与不同点。由于我看的书中缺乏编程练习题,我就在想如何能够尽快地熟悉python。由于我一直在参加算法竞赛,所以就想到了用Pyth...
    99+
    2023-01-31
    Python pyt
  • spring框架学习总结
    目录Spring 框架概述Spring优点Spring体系结构Spring拓展Spring Boot与Spring CloudSpring IoC 容器 (IoC 也称为依赖项注入(...
    99+
    2022-11-12
  • list学习内容总结
    list定义:list[]或者[]内任意类型的内容,多个用逗号分开 name1 = list(['Cyberpunk2077', 'Jim', 2077]) name2 = list('Cyberpunk2077') name3 = ...
    99+
    2023-01-31
    内容 list
  • AIX 5L学习总结3
    1.-bash-3.00$ prtconf | more //查看配置信息可以看到大部分配置信息。 -bash-3.00$ prtconf | more System Model: IBM,9110-51A Machin...
    99+
    2023-01-31
    AIX
  • jdbc学习总结3------javab
     1.测试类的内容: 在包:com.hanchao.test中   package com.hanchao.test;  import com.hanchao.dao.UserDao; import com.hanchao.entity.U...
    99+
    2023-01-31
    jdbc javab
  • Kubernetes 学习总结(3) M
    APIserver符合RESTful风格,支持GET/PUT/DELETE/POST等各种操作。所以也支持kubectl通过一系列命令对各处资源进行管理控制。常用的资源1)、workLoad(工作负载型资源,运行APP,对外提供服务): P...
    99+
    2023-01-31
    Kubernetes
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作