千家信息网

mongodb高级查询

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,MongoDB 的逻辑结构是一种层次结构。主要由文档(document)、集合(collection)、数据库(database)这三部分组成的。逻辑结构是面向用户的用户使用MongoDB 开发应用程
千家信息网最后更新 2025年02月05日mongodb高级查询

MongoDB 的逻辑结构是一种层次结构。主要由文档(document)、集合(collection)、数据库(database)这三部分组成的。逻辑结构是面向用户的用户使用MongoDB 开发应用程序使用的就是逻辑结构。

MongoDB 的文档document相当于关系数据库中的一行记录。

多个文档组成一个集合collection相当于关系数据库的表。

多个集合collection逻辑上组织在一起就是数据库database。

一个MongoDB 实例支持多个数据库database。

mongodb条件查询

db.collection.find({"field":{$gt:value}}) //大于

db.collection.find({ "field" : { $lt: value } } ); // 小于: field < value

db.collection.find({ "field" : { $gte: value } } ); // 大于等于: field >= value

db.collection.find({ "field" : { $lte: value } } ); // 小于等于: field <= value

如果要同时满足多个条件可以这样做

db.collection.find({ "field" : { $gt: value1, $lt: value2 } } ); // value1 < field < value

$all匹配所有 必须满足[ ]内的所有值例如:

db.users.find({age : {$all : [6, 8]}});

可以查询出 {name: 'David', age: 26, age: [ 6, 8, 9 ] }

但查询不出 {name: 'David', age: 26, age: [ 6, 7, 9 ] }


$exists判断字段是否存在

查询所有存在age 字段的记录

db.users.find({age: {$exists: true}});

查询所有不存在name 字段的记录

db.users.find({name: {$exists: false}});

$ne不等于

查询x 的值不等于3 的数据

db.things.find( { x : { $ne : 3 } } );


$in包含

查询x 的值在2,4,6 范围内的数据

db.things.find({x:{$in: [2,4,6]}});

$nin不包含

查询x 的值在2,4,6 范围外的数据

db.things.find({x:{$nin: [2,4,6]}});

$size数组元素个数

对于{name: 'David', age: 26, favorite_number: [ 6, 7, 9 ] }记录

匹配db.users.find({favorite_number: {$size: 3}});

不匹配db.users.find({favorite_number: {$size: 2}});

正则表达式匹配

查询不匹配name=B*带头的记录

db.users.find({name: {$not: /^B.*/}});


skip限制返回记录的起点

从第3 条记录开始返回5 条记录(limit 3, 5)

db.users.find().skip(3).limit(5);


sort排序

以年龄升序asc

db.users.find().sort({age: 1});

以年龄降序desc

db.users.find().sort({age: -1});


查询 数据 数据库 多个 结构 逻辑 字段 文档 就是 年龄 条件 用户 范围 一行 个数 元素 升序 同时 实例 层次 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库表命名形容词 创建表与管理数据库的小结怎么写 qq安全中心弄人工服务器 湖北生活教育网络安全 表是数据库的数据来源 华为硬件服务器价格 steam游戏连接服务器连不上 如何用服务器做黑群晖 更改mysql数据库引擎 软件开发项目如何叫甲方付钱 湖北软件开发培训班哪个好 网络安全的重要性什么意思 著名的数据库 软件开发常用的概念模型 中国人民警察大学网络安全 某互联网银行运用金融科技 江西网络安全专家评选 松江区品牌软件开发咨询热线 成都软件开发培训机构哪家好 上海宝山区疫情数据库 学生网络安全教育黑板报资料 多家公司共用一个云服务器 万里开源数据库tpcc测试结果 易度网络技术公司产品 河北网络营销软件开发定制平台 可更新的工商信息数据库 建行软件开发中心北京地址 聊城市2021网络安全大赛 怎么网数据库上传文件 农行网络安全宣传折页
0