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日

相关文章

  • ubuntu16.04 编译安装mysql5.7.x,以及配置使用

    編譯與安裝:  源码下载地址:http://dev.mysql.com/downloads/mysql/     选择Generic Linux (Architecture Independent), Compressed TAR Archive  Includes Boost Headers 首先    : sudo apt-get update  第一步…

    MySQL 2023年4月13日
    00
  • 查看linux服务器上mysql配置文件路径的方法

    要查看Linux服务器上MySQL配置文件的路径,可以按照以下步骤进行: 1.首先登录到Linux服务器,打开终端,输入以下命令: sudo find / -name "my.cnf" 2>/dev/null 该命令会在Linux系统中查找名为”my.cnf”的MySQL配置文件,并将结果输出到终端窗口。 2.如果MySQL服务器使…

    database 2023年5月22日
    00
  • 解析如何查看Oracle数据库中某张表的字段个数

    查看Oracle数据库中某张表的字段个数的攻略如下: 步骤一:登录数据库 首先请登录您的 Oracle 数据库,使用管理员权限打开 SQL*Plus 或 SQL Developer 等工具。 步骤二:执行命令行语句 打开 SQL*Plus 或 SQL Developer 工具后,输入以下代码: SELECT COUNT(*) FROM user_tab_co…

    database 2023年5月21日
    00
  • 关于Navicat连接MySql数据库慢的问题

    关于Navicat连接MySql数据库慢的问题,我们需要逐步排查原因并采取对应措施。 1. 确认网络环境 首先,我们需要确认网络环境是否稳定。可以尝试使用其他电脑或移动设备连接同一网络下的MySql数据库,查看是否也存在连接慢的情况。如果其他设备也存在相同的问题,则很可能是网络环境的问题。 2. 检查MySql数据库配置 其次,需要检查MySql数据库配置。…

    database 2023年5月18日
    00
  • HashTable、HashSet和Dictionary的区别点总结

    针对“HashTable、HashSet和Dictionary的区别点总结”,我根据自己的理解,准备了完整的攻略: 1. 哈希表(HashTable) 哈希表(HashTable)是一种用于快速查找数据的数据结构,其基本思想是把数据存储在以关键字为索引的数组中,以便取得时能够快速地检索到它。哈希表的核心是哈希函数,它能够将数据的关键字转化为数组下标,以保证在…

    database 2023年5月21日
    00
  • SQL Server中的XML数据进行insert、update、delete

    SQL Server是一个关系型数据库管理系统,但其同样支持处理XML数据。本文将详细讲解如何在SQL Server中使用XML数据进行insert、update、delete的操作。 插入XML数据 在SQL Server中插入XML数据可以使用以下代码: INSERT INTO [表名] ([XML列名]) VALUES (‘<XML数据>’…

    database 2023年5月21日
    00
  • 运维角度浅谈MySQL数据库优化(李振良)

    《运维角度浅谈MySQL数据库优化(李振良)》是一篇非常实用的MySQL数据库优化指南。如何通过优化索引、调整参数等手段提高MySQL数据库性能,是每个MySQL数据库管理员都需要掌握的基本技能。以下是运维角度浅谈MySQL数据库优化的完整攻略: 一、查看MySQL数据库的配置 在进行MySQL数据库优化之前,首先需要查看MySQL数据库的配置。命令如下: …

    database 2023年5月19日
    00
  • SQL 删除重复数据

    当数据库表中出现重复数据时,我们通常需要删除其中的某些记录,以便保证数据的准确性和完整性。下面将介绍如何使用SQL语言删除重复数据的完整攻略,包括去重分组、使用子查询、使用临时表等方法。 1.使用去重分组 去重分组是检索表中重复数据的最简单方法之一。要使用去重分组来删除重复数据,可以按照如下步骤进行操作: 找到列中的重复值:使用SELECT语句选择重复的列,…

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