博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
py-mongdb语法
阅读量:3916 次
发布时间:2019-05-23

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

mongdb语法

“面向集合”(Collection-Oriented),意思是数据被分组存储在数据集中,被称为一个集合(Collection)。

每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。每个集合被创建时含有唯一标识名。

集合概念类似与sql中的表(table),但是不需要定义任何模式(schema)。

不适用的场景如下:

1)要求高度事务性的系统。

2)传统的商业智能应用。

3)复杂的跨文档(表)级联查询。

一、进入退出mongo

mongo进入

exit退出

显示所有库: show dbs

二、库操作

* 显示所有库: show dbs* 切换数据库: use 数据库名称* 查看所在库: db* 删除库:db.dropDatabase()

三、集合操作

查看当前数据库的集合: show collections

集合创建:

db.createCollection(name,options)

删除集合:db.集合名称.drop()

四、数据操作的增删改查

1. 插入数据

db.集合名称.insert(document)

每一条数据,就是一个document,即一条json

插入文档时,如果不指定_id参数,MongoDB会为文档分配一个唯一的ObjectId

与sql 的对比,sql中的表==集合,元组==文件

例: db.student.insert({name:‘lucky',age:18})

插入多条

db.student.insert([    {name:'jianeng',sex:'male',age:18},    {name:'张三',sex:’female',age:30 },    {name:'李四',sex:’male',age:48 },])

2. 删除数据

删除满足条件的,所有数据:

db.student.remove({sex:'女'})

只是删除 一条

db.student.remove({sex:'女'},{justOne:true })

3. 更新数据

db.集合名称.update(   
, (条件)
, {multi:
})

全文档更新: db.stu.update({name:’haha’},{xx:’yy’ } )

指定属性更新,通过操作符$set

db.student.update({name:'jianeng'},{$set{name:'xxx',age:666 }})

更新多条(字段更新): { multi: ture }

db.student.update( {
sex:’feamle'},{$set:{sex:'女'}},{ multi:true} )

4. 查询数据

db.集合名称.find(query, projection)

例:db.student.find( )

query :可选,使用查询操作符指定查询条件

projection :可选,使用投影操作符指定返回的键。
查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

若不指定 projection,则默认返回所有键,指定 projection 格式如下,有两种模式

db.collection.find(query, {title: 1, by: 1}) // inclusion模式 指定返回的键,不返回其他键db.collection.find(query, {title: 0, by: 0}) // exclusion模式 指定不返回的键,返回其他键_id 键默认返回,需要主动指定 _id:0 才会隐藏两种模式不可混用(因为这样的话无法推断其他键是否应返回)db.collection.find(query, {title: 1, by: 0}) // 错误只能全1或全0,除了在inclusion模式时可以指定_id为0db.collection.find(query, {
_id:0, title: 1, by: 1}) // 正确

五、使用python操作MongoDB

(一)连接器

  1. 安装python包:pip install pymongo

  2. 引入包pymongo:import pymongo

  3. 建立连接并创建客户端:

    client= pymongo.MongoClient(‘127.0.0.1’, 27017)

  4. 指定数据库:db=client[ 数据库名 ]

  5. 指定集合:stu=db [ 集合名]

(二)主要方法

  • insert_one
  • insert_many
  • update_one
  • update_many
  • delete_one
  • delete_many
  • find_one
  • find

转载地址:http://fkprn.baihongyu.com/

你可能感兴趣的文章
怎么将SVG转成PNG(.NET工具包编写)
查看>>
.NET Core3.1升级.NET5,坑还真不少...
查看>>
为什么曾经优秀的人突然变得平庸?
查看>>
.NET 5 中的隐藏特性
查看>>
客户的一个紧急bug,我用了两种方式进行 C# 反编译修改源码
查看>>
.NET5都来了,你还不知道怎么部署到linux?最全部署方案,总有一款适合你
查看>>
我画着图,FluentAPI 她自己就生成了
查看>>
BenchmarkDotNet v0.12x新增功能
查看>>
使用 .NET 5 体验大数据和机器学习
查看>>
C# 中的数字分隔符 _
查看>>
持续交付一:从开发到上线的环境
查看>>
使用 docker 构建分布式调用链跟踪框架skywalking
查看>>
深度探秘.NET 5.0
查看>>
Github Actions 中 Service Container 的使用
查看>>
天际数见数据质量巡检架构优化
查看>>
别在.NET死忠粉面前黑.NET5,它未来可期!
查看>>
Winform 进度条弹窗和任务控制
查看>>
部署Dotnet Core应用到Kubernetes(二)
查看>>
持续交付二:为什么需要多个环境
查看>>
简单理解线程同步上下文
查看>>