Mongodb学习总结

Mongodb学习总结Mongodb相关操作总结

Mongodb学习总结

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

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

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

1.增删改查:
增:
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()

2.$关键字
数学比较符:
$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}})

代码100分

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

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

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

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

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

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

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

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

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

9.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)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9212.html

(0)
上一篇 2023-02-13
下一篇 2023-02-13

相关推荐

  • MySQL集群搭建_docker mysql集群

    MySQL集群搭建_docker mysql集群NDB群集安装 介绍 https://dev.mysql.com/doc/refman/8.0/en/mysql-cluster-basics.html NDBCLUSTER (也称为NDB

    2023-02-04
    136
  • 如何使用 sql 存储过程简化复杂的操作步骤_sql存储过程入门

    如何使用 sql 存储过程简化复杂的操作步骤_sql存储过程入门本文介绍什么是 SQL 存储过程,为什么要使用存储过程,如何使用存储过程,以及创建和使用存储过程的基本语法。 一、存储过程 迄今为止,我们使用的大多数 SQL 语句都是针对一个或多个表的单条语句。并非

    2023-05-17
    134
  • 批量远程桌面上软件 vps服务器批量

    批量远程桌面上软件 vps服务器批量批量远程桌面上软件 vps服务器批量远程桌面是微软公司为了便于网络管理员管理维护服务器推出的一项服务。从windows 2000 server版本开始引入,网络管理员时候远程桌面连接器连接到网络任意…

    2023-02-23
    150
  • python爬虫网页爬取关键词_python爬取新闻标题

    python爬虫网页爬取关键词_python爬取新闻标题我是个微博重度用户,工作学习之余喜欢刷刷timeline看看有什么新鲜事发生,也因此认识了不少高质量的原创大V,有分享技术资料的,比如好东西传送门;有时不时给你一点人生经验的,比如石康;有高产的段子手,比如银教授;有黄图黄段子小能手,比如阿良哥哥 木木萝希木 初犬饼…

    2023-08-25
    130
  • 多版本并发控制 MVCC「终于解决」

    多版本并发控制 MVCC「终于解决」本篇文章主要介绍了 多版本并发控制(MVCC)在 MySQL 的实现

    2023-06-05
    140
  • 使用Python中的split函数实现字符串分割功能

    使用Python中的split函数实现字符串分割功能Python是一种高级编程语言,它的强大在于它的简单易用和优美的语法。Python提供了许多内置函数和模块,其中之一就是split函数。Split函数是Python中的一个非常重要的字符串函数,我们可以使用它对字符串进行分割操作。下面我们将从多方面详细阐述如何使用Python中的split函数实现字符串分割功能。

    2024-03-02
    91
  • 数据库图解_海量数据云图数据库

    数据库图解_海量数据云图数据库数据库也是计算机类笔试面试中不可避免会遇到的考点,尤其是银行和部分传统软件类公司。这里根据整理的资料,对数据库的相关知识也做个总结吧。希望学过数据库但长时间不用的同学根据这些知识能够回忆和重拾,没学…

    2023-03-17
    145
  • htap olap oltp_htap数据库

    htap olap oltp_htap数据库在今年的第七届中国开源年会上,StoneDB 团队在大数据分论坛发表了《HTAP 的下一步?SoTP 初探》主题演讲,在本次演讲中,我们首次正式对外阐释了“SoTP 数据库”的技术理念,本系列是演讲实

    2023-06-16
    132

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注