技术文摘
MongoDB 数据库常见 28 条查询语句汇总
2024-12-29 02:35:00 小编
MongoDB 数据库常见 28 条查询语句汇总
在 MongoDB 数据库的使用中,掌握常见的查询语句对于高效地操作数据至关重要。以下为您汇总了 28 条常用的查询语句:
- 查询所有文档:
db.collection.find() - 按条件查询:
db.collection.find({field: value}) - 限制返回结果数量:
db.collection.find().limit(10) - 跳过指定数量的结果:
db.collection.find().skip(5) - 排序结果:
db.collection.find().sort({field: 1})(1 表示升序,-1 表示降序)
条件查询相关:
- 大于条件:
db.collection.find({field: {$gt: value}}) - 小于条件:
db.collection.find({field: {$lt: value}}) - 大于等于条件:
db.collection.find({field: {$gte: value}}) - 小于等于条件:
db.collection.find({field: {$lte: value}}) - 不等于条件:
db.collection.find({field: {$ne: value}})
逻辑操作符:
- 与操作:
db.collection.find({$and: [{field1: value1}, {field2: value2}]}) - 或操作:
db.collection.find({$or: [{field1: value1}, {field2: value2}]})
数组操作:
- 查询数组包含指定元素:
db.collection.find({arrayField: {$in: [value1, value2]}}) - 查询数组不包含指定元素:
db.collection.find({arrayField: {$nin: [value1, value2]}})
文本搜索:
- 全文搜索:
db.collection.find({$text: {$search: "keyword"}})
投影操作:
- 只返回指定字段:
db.collection.find({}, {field1: 1, field2: 1})
聚合操作:
- 计算平均值:
db.collection.aggregate([{$group: {_id: null, averageValue: {$avg: "field"}}}] - 计算总和:
db.collection.aggregate([{$group: {_id: null, totalValue: {$sum: "field"}}}]
更新操作:
- 更新单个文档:
db.collection.updateOne({filter}, {update}) - 更新多个文档:
db.collection.updateMany({filter}, {update})
删除操作:
- 删除单个文档:
db.collection.deleteOne({filter}) - 删除多个文档:
db.collection.deleteMany({filter})
索引相关:
- 创建索引:
db.collection.createIndex({field: 1}) - 查看索引:
db.collection.getIndexes()
子文档操作:
- 查询包含特定子文档的文档:
db.collection.find({'subDocument.field': value})
地理空间查询:
- 基于地理位置查询:
db.collection.find({location: {$near: {latitude, longitude}}})
数据分页:
- 实现分页查询:结合
skip和limit进行分页操作。
复杂查询组合:
- 根据实际需求灵活组合上述查询语句,以满足各种复杂的业务场景。
熟练掌握这些常见的查询语句,将能够更加高效地处理 MongoDB 数据库中的数据,提升开发和运维的效率。不断的实践和应用,能够让您在 MongoDB 的世界中更加游刃有余。
TAGS: 数据库操作 MongoDB 技巧 技术汇总 MongoDB 查询语句
- 30 分钟扫描一亿行代码查错,此神器获 Facebook 黑粉称赞
- 订单号生成的设计方案浅析
- 运维必备:正则表达式快速学习指南
- 十大高效 PHP 开发工具值得留意
- 我的 Spring 5 新特性回答让面试官刮目相看
- 你是否真正了解 Python ?单引号、双引号和三引号的区别在哪 ?
- 盘口数据频变,100W 用户怎样实时通知
- C 语言程序员称移位操作替代乘除运算效率更高,是否属实?
- 探究 Java 设计模式、框架、架构与平台的关联
- 轻松读懂 MQ 消息队列
- Java 五大框架的对比分析
- 深入剖析微服务注册中心 Eureka 架构
- 五大通用编程工具汇总 程序员未用过 3 款以上即落伍
- 为何程序员的业余项目多夭折?
- 腾讯、阿里、字节跳动工作差异一图解析