首页 文章 精选 留言 我的

精选列表

搜索[mongodb4.0.16],共3244篇文章
优秀的个人博客,低调大师

Python全栈 MongoDB 数据库(数据的查找)

非关系型数据库和关系型数据库的区别? 不是以关系模型构建的,结构自由 非关系型数据库不保证数据一致性 非关系型数据库可以在处理高并发和海量数据时弥补关系数据库的不足 非关系型数据库在技术上没有关系型数据库技术成熟 查找操作: db.集合名.find(查找条件,域) 查找条件: 键值对的形式给出要展示的文档 域: 以键值对对的形式给出要展示或不展示的域 0为值不显示该域 1为值显示该域 如果使用0设置某些域不显示默认其他域显示 如果使用1设置某些域显示默认其他域不显示 *_id 只有设置为0才不显示否则默认显示 除_id以外,其他域必须同时设置0或1 db.集合名.findOne(查找条件,域) 查找复合条件的第一条文档 查找条件(query): 操作符: 使用$注明的一特殊意义的字符串,表达某个特定含义 比如:$gt表示大于 语法: db.集合名.find({name:{$gt:"tom"}}, {_id:0}) 比较操作符: $eq 等于 $lt 小于(字符串也可以比较大小) $lte 小于等于 $gt 大于 $gte 大于等于 $ne 不等于 $in 在什么里(in) $nin 不在什么里(not in) 逻辑操作符: $and 与 query内如果多个条件用逗号隔开默认就是and关系 $or 或 $not 非 $nor 既不也不 数组: 使用中括号[]将一定的数据组织为一种数据结构 数组中的数据类型可以不同 是有序的 db.class2.find({score:{$gt:90}}, {_id:0}) $size 通过数组中个数查找 $all 查找数组中包含多项的 $slice 取数组中部分显示,在域(field)中声明 其他query查询: $exists 判断一个域是否存在 $mod 余数查找 $type 数据类型查找 distinct() db.class2.distinct("score") 查看集合内某个域的取值范围 pretty() 将查询结果格式化显示 limit(n) 显示查找结果的前n条结果 skip(2) 跳过前条显示后面的结果 count() 计数统计 sort({filed:1/-1}) 排序 参数:键代表那个域,1表示升序, -1表示降序 复合排序: 当第一排序项相同的时候按照第二排序项排序,以此类推 函数的连续调用 当一个函数的返回结果仍然是文档集合的时候可以连续调用函数 文档的删除操作 db.集合名.remove(query,justOne) remove(query,justOne) 功能 : 删除文档 参数 : query 筛选要删除的文档,相当于where 用法同 查找 justOne 布尔值 默认为False 表示删除所有复合条件的文档 如果设置为true 则表示只删除第一条复合条件文档 修改操作: db.集合名.update(query, update,upert,multi) 参数: query: 筛选要查找要修改的文档 update: 将筛选的文档修改为什么内容 需要配合修改操作符 upsert: bool值 默认false 如果query的文档不存在则不进行任何操作 设置为true 如果query和文档不存在 就根据query和update插入新文档 multi: bool值 默认false 如果query文档有多条则只修改第一条 设置为true 则修改所有符合条件的文档、 综合示例: 1. 创建数据库 名字 grade use grade 2. 数据库中创建集合 名字 class 3. 集合中插入若干文档格式如下 {name:'zhang',age:10,sex:'m',hobby:['a','b'...]} 年龄在4-13之间 hobby几项都可以,可选项: draw sing dance basketball football pingpong running computer db.class.insert({name:'zhang',age:10,sex:'m',hobby:['a','b'...]}) 4. 查询练习 查看班级所人信息 db.class.find() 查看年龄大于10岁的学生信息 db.class.find({age:{$gt:10}}) 查看年龄 8-11 岁之间的学生信息 db.class.find({age:{$gt:8,$lt:11}}) 找到年龄9岁且为男生的学员 db.class.find({age:9,sex:'m'}) 找到年龄小于7岁或者大于11岁的学生 db.class.find({$or:[{age:{$gt:11}},{age:{$lt:7}}]}) 找到年龄8岁或者11岁的学生 db.class.find({age:{$in:[8,11]}}) 找到有两项兴趣爱好的学生 db.class.find({hobby:{$size:2}}) 找到喜欢computer的学生 db.class.find({hobby:"computer"}) 找到既喜欢画画,又喜欢跳舞的学生 db.class.find({hobby:{$all:['draw','dance']}}) 统计兴趣爱好有3项的学生人数 db.class.find({hobby:{$size:3}}).count() 找到本班年龄第二大的学生 db.class.find({}).sort({age:-1}).skip(1).limit(1) 查看学生学生兴趣爱好的范围 db.class.distinct('hobby') 找到年龄最小的三个同学 db.class.find({}).sort({age:1}).limit(3) 删除虽有年龄小于6岁或者大于12岁的学员 db.class.remove({$or:[{age:{$lt:6}},{age:{$gt:12}}]})

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat

Apache Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。