MongoDB数据库常用28条查询语句总结

MongoDB数据库常用28条查询语句总结

1. 数据库操作

创建/使用数据库

通过 use 关键字可以选择或创建数据库,例如 use mydb 将会创建名称为 mydb 的数据库并使用它。

查看所有数据库

执行 show dbs 可以查看所有的数据库列表。

删除数据库

执行 db.dropDatabase() 可以删除当前数据库。

2. 集合操作

创建集合

使用 db.createCollection(name, options) 方法可以创建集合,例如 db.createCollection('user') 创建名称为 user 的集合。

查看集合

通过 show collections 命令可以查看当前数据库的所有集合。

删除集合

执行 db.collection_name.drop() 可以删除指定的集合,例如 db.user.drop() 将会删除名称为 user 的集合。

3. 文档操作

插入文档

使用 db.collection_name.insert(document) 方法可以插入新的文档,例如 db.user.insert({name: 'John', age: 30}) 将会向 user 集合插入一条新文档。

查询文档

使用 db.collection_name.find(query, projection) 方法可以查询文档,其中 query 为查询条件,projection 为筛选字段,例如 db.user.find({name: 'John'}, {name: 1}) 将会查询 user 集合中名为 John 的文档,只返回 name 字段。

更新文档

使用 db.collection_name.update(query, update, options) 方法可以更新文档,其中 query 为更新条件,update 为更新内容,options 为更新选项,例如 db.user.update({name: 'John'}, {$set: {age: 31}}) 将会将名为 John 的文档中的 age 字段更新为 31。

删除文档

使用 db.collection_name.remove(query) 方法可以删除文档,其中 query 为删除条件,例如 db.user.remove({name: 'John'}) 将会删除 user 集合中名为 John 的文档。

示例1

假设有一个名为 books 的集合,其中每个文档包含以下字段:

  • _id: ObjectId类型,自动生成的文档ID
  • title: 字符串类型,书名
  • author: 字符串类型,作者名
  • price: 数值类型,书的单价
  • stock: 数值类型,书的库存

要求查询价格低于50元或者库存少于10本的图书,并返回它们的书名和价格字段。

解决方法:

db.books.find({
    $or: [
        {price: {$lt: 50}},
        {stock: {$lt: 10}}
    ]
},
{
    title: 1,
    price: 1,
    _id: 0
})

输出示例:

{ "title" : "JavaScript入门", "price" : 38 }
{ "title" : "Node.js实战", "price" : 49 }
{ "title" : "Python爬虫入门", "price" : 32 }
{ "title" : "数据科学", "price" : 56 }
{ "title" : "C#基础教程", "price" : 45 }
{ "title" : "C++快速入门", "price" : 29 }
{ "title" : "Java高级开发", "price" : 58 }

示例2

假设有一个名为 users 的集合,其中每个文档包含以下字段:

  • _id: ObjectId类型,自动生成的文档ID
  • name: 字符串类型,用户名
  • age: 数值类型,用户年龄
  • gender: 字符串类型,用户性别
  • hobbies: 数组类型,用户兴趣爱好列表(包含字符串类型的元素)

要求查询名为 John 的用户,并更新其兴趣爱好列表为 ['reading', 'swimming']

解决方法:

db.users.update({name: 'John'}, {$set: {hobbies: ['reading', 'swimming']}})

输出示例:更新成功返回 WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) ,查询 db.users.find({name: 'John'}) 返回 {"_id" : ObjectId("5fece5d2407c6a141c5738d5"), "name" : "John", "age" : 30, "gender" : "male", "hobbies" : [ "reading", "swimming" ]}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MongoDB数据库常用28条查询语句总结 - Python技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • laravel5.5集成FFmpeg,redis队列异步视频转码

      laravel5.5集成FFmpeg,redis队列异步视频转码 1、laravel PHP-FFmpeg 扩展 下载地址:https://github.com/PHP-FFMpeg/PHP-FFMpeg 2、安装方法: $ composer require php-ffmpeg/php-ffmpeg 3、使用: 安装redis: $ composer …

    Redis 2023年4月13日
    00
  • MySql索引和索引创建策略

    MySQL索引是提高查询效率的重要手段之一。建立正确的索引可以大大优化查询性能,而错误的索引设计则可能会导致查询性能下降。 一、什么是索引? 索引是对数据库表中一个或多个列的值进行排序的数据结构,通过索引可以快速定位到表中满足条件的行。可以将索引比喻成是一本书的目录,可以快速地找到需要的内容。 有两种主要的索引类型:B-Tree索引和哈希索引。B-Tree索…

    database 2023年5月19日
    00
  • Ubuntu下Mysql 常用指令及中文乱码问题

    下面是针对“Ubuntu下Mysql 常用指令及中文乱码问题”的详细攻略: Ubuntu下Mysql 常用指令 安装Mysql sudo apt-get update sudo apt-get install mysql-server 登录Mysql 命令行模式下输入以下命令: mysql -u username -p 其中,”username”为你的Mys…

    database 2023年5月22日
    00
  • 一篇文章搞懂MySQL加锁机制

    一篇文章搞懂 MySQL 加锁机制 MySQL 是一款用途广泛的关系型数据库,支持多线程并发操作。在并发访问中,数据的正确性和一致性十分重要。而锁机制被广泛运用来保证并发操作的数据正确性和一致性。本文将详细介绍 MySQL 的锁机制,包括锁分类、锁的使用方式、以及常见的锁冲突问题。 锁分类 MySQL 的锁分类可以分为以下两类: 行锁(Record Lock…

    database 2023年5月22日
    00
  • MySQL日志分析软件mysqlsla的安装和使用教程

    下面是“MySQL日志分析软件mysqlsla的安装和使用教程”的完整攻略。 一、什么是mysqlsla mysqlsla是一款MySQL日志分析工具,可以分析MySQL的Slow Query、General Query、Error Log等各种日志。更重要的是,mysqlsla可以生成易于阅读的HTML报告,便于我们查找和分析MySQL的问题。 二、安装m…

    database 2023年5月22日
    00
  • sql server的 update from 语句的深究

    下面是一份 SQL Server update from 语句的深入攻略。 什么是 Update from 语句? Update from 语句是一种 SQL Server 的数据更新语句,它可以根据查询结果集来更新某个或多个数据表中的数据。通常情况下,Update from 语句可以更加高效、有效地更新大批量数据。 Update from 语句的一般格式:…

    database 2023年5月21日
    00
  • SQL 排序时对Null值的处理

    在 SQL 中排序时对 NULL 值的处理是一个很常见的问题。下面是几种处理 NULL 值排序的方法: 1. 升序和降序排序 NULL 值 可以使用 ORDER BY 子句来排序 NULL 值。默认情况下,升序排序(ASC)将 NULL 值放在排序结果集的最后,而降序排序(DESC)将 NULL 值放在排序结果集的最前面。 示例 1:升序排序 NULL 值 …

    database 2023年3月27日
    00
  • Oracle安装遇到INS-30131错误的解决方法

    下面我将为你详细讲解一下“Oracle安装遇到INS-30131错误的解决方法”的完整攻略,包含以下内容: 错误提示信息解释 解决方法简介 具体操作步骤 示例说明 1. 错误提示信息解释 首先,我们需要了解一下“INS-30131”的含义。该错误信息表示:“无法在指定的节点上分配组织。请检查所有输入并重试“,通常原因是由于安装程序检测到了一个问题,无法正确执…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部