专栏首页深度学习之tensorflow实战篇mongodb数据结构与基本操作增删改查整理(二)

mongodb数据结构与基本操作增删改查整理(二)

mongodb数据结构学习–增删改查

  1. 插入文档 在数据库中,数据插入是最基本的操作,在MongoDB使用db.collection.insert(document)语句来插入文档; document是文档数据,collection是存放文档数据的集合。

例如:所有用户的信息存放在users集合中,每个用户的信息为一个user文档,插入数据:

db.users.insert(user);

  如果collection存在,document会添加到collection目录下, 如果collection不存在,数据库会先创建collection,然后再保存document

  1. 列表内容

批量插入文档 insert语句不但可以插入单个文档,还可以一次性插入多个文档。

插入多个文档时,insert命令的参数为一个数组,数组元素为BSON格式的文档。

多个文档可以放在一个数组内,一次插入多条数据,例如:

db.users.insert([{name:"tommy"},{name:"xiaoming"}])

  文档批量插入非常方便,但是使用批量插入时也有一些问题需要注意,因为BSON格式的限制,一次插入的数据量不能超过16M,在一个insert命令中插入多条数据时,MongoDB不保证完全成功或完全失败。

查询文档 在MongoDB中,查询指向特定的文档集合,查询设定条件,指明MongoDB需要返回的文档;查询也可以包含一个投影,指定返回的字段。

如下图,在查询过程指定了一个查询条件和一个排序修饰。

在关系型数据库中,投影指的是对列的筛选,类似的,在MongoDB中,投影指的是对出现在结果集中的对象属性的筛选。

文档查询 - find方法 MongoDB中查询检索数据时使用find命令,使用方法如下:

语法:

db.collection.find(criteria,projection);

参数: criteria – 查询条件,文档类型,可选。

projection– 返回的字段,文档类型,可选,若需返回所有字段,则忽略此参数。

find命令两个可选参数,criteria为查询条件,projection为返回的字段,如果不传入条件数据库会返回该集合的所有“`

修改文档–update命令 update命令可以更新指定文档的特定字段值,也可以替换整个文档,如果更新操作会增加文档大小,MongoDB将重新分配空间并重新定位。

语法:

db.collection.update(query,update,{upsert:boolean,multi:boolean});

参数: query:查询条件,文档,和find中的查询条件写法一致。

update:修改内容,文档。

upsert(可选):如果值为true,那么当集合中没有匹配文档时,创建文档。默认false。

multi(可选):如果值为true,那么将更新全部符合条件的文档,否则仅更新一个文档,默认false。

如下示例:将users集合中所有符合条件”age>18”文档的status字段更新为”A”。

修改文档–save命令 save命令可以更新或插入一个新文档,与update命令不同的是,save只能对一个文档进行操作。

语法:

db.collection.save();

参数: document:新的文档;

删除文档–remove命令 需要删除文档时使用remove命令,删除文档可以清理掉不需要的数据,释放存储空间,提升检索效率,但是错误的删除会是一场灾难,因此在执行数据删除操作时需要非常的谨慎!

语法:

db.collection.remove(
query,
justOne
)

参数: query:BSON类型,删除文档的条件。

justOne:布尔类型,true:只删除一个文档,false:默认值,删除所有符合条件的文档。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mongodb数据结构与基本操作增删改查整理(二)

    mongodb数据结构学习–增删改查 插入文档 在数据库中,数据插入是最基本的操作,在MongoDB使用db.collection.insert(docum...

    学到老
  • Python基础整理操作积累

    Python编程积累 列表内容 Python基础 for变化量的灵活应用 for x,y in [[0,1],[0,2],[1,2]]: d...

    学到老
  • 整理ING

    os.path.exists(img_name)(判断图片是否已经存在,如果存在就跳过) 很好的一篇爬虫实例:先保存下 用MongoDB数据库记录已下载过的...

    学到老
  • mongodb数据结构与基本操作增删改查整理(二)

    mongodb数据结构学习–增删改查 插入文档 在数据库中,数据插入是最基本的操作,在MongoDB使用db.collection.insert(docum...

    学到老
  • Powerdesigner 导出文档

    题库系统基本功能马上就要做完了。学宇开始进行整体的调试,而我呢,就在完善一下文档。

    the5fire
  • DevOps 下的文档及其版本管理设计

    在传统的软件交付过程中,开发、测试、运维多数情况下是分开进行的,开发行为和运维行为之间存在严重的脱节现象,而且敏捷开发人员希望能够快速进行软件的部署,以实现快速...

    DevOps时代
  • 在RPA项目中有哪些文档,如何使用这些文档

    RPA项目也同样遵循同样的方式,不同的厂商和公司定义的文档类型也不太相同,多的可能十几种,少的也要几种,具体的遵循方式和使用标准取决于公司内部的使用章程。

    RPA小葵
  • Swoole 船新版本文档发布了,是兄弟就砍我!

    Swoole的文档一直被人所吐槽,虽然内容很丰富,但看起来很费力,更新也稍有些不足,所以这次识沃科技专门组织了人力和资源重新打造这一船新版本的文档,让人眼前一亮...

    桶哥
  • 程序员既要写好代码,又要写好文档

    程序员既要写好代码,又要写好文档 作为一个长期混迹于CSDN社区的人,我对很多拥有高访问量的博主钦佩不已,特别是在参加了CSDN在举办“2014 CSDN博文大...

    用户1289394
  • 谷歌软件工程师是怎样写设计文档的?

    谷歌软件工程文化的主要元素之一就是通过设计文档定义软件设计。在开始项目编码工作之前,软件系统或应用程序的作者会创建这些相对非正式的文档。设计文档记录了高级实现策...

    深度学习与Python

扫码关注云+社区

领取腾讯云代金券