专业编程基础技术教程

网站首页 > 基础教程 正文

MongoDB使用教程_mongodb基本操作

ccvgpt 2025-02-21 12:26:24 基础教程 29 ℃



MongoDB使用教程_mongodb基本操作

零、参考资料

https://docs.mongoing.com/

一、数据库级别操作

1.1 命令内容

1.启动 MongoDB 服务器:

mongod

2.连接到 MongoDB 服务器

mongo

3.显示数据库列表

show dbs
# 或者
show databases

4.创建/使用数据库——没有这个数据库就创建,有就使用

use mydatabase

5.删除数据库

use mydatabase  // 切换到要删除的数据库
db.dropDatabase()

1.2 注意要点

在MongoDB中,show dbs命令显示的是所有已经包含数据的数据库列表。如果你刚刚创建了一个新的数据库但尚未往其中插入任何数据,那么在执行show dbs时是看不到这个新数据库的。要显示当前数据库,你可以使用db命令展示当前的数据库

db

如果你想要显示所有数据库,包括没有数据的数据库,你可以插入一些数据到新创建的数据库,然后再次执行show dbs,可以依次执行以下命令,就可以看到你新建的数据库了

use your_new_database
db.your_collection.insert({key: "value"})
show dbs

二、数据库中的集合(类似于Mysql的表)操作

2.1 命令内容

  1. 创建集合(类似于表):
db.createCollection("")
  1. 显示集合列表:
show collections
  1. 插入文档数据:
db..insertOne({ key: "value" })
db..insertMany([
	{ key: "value1" }
  { key: "value2" }
])
  1. 查询文档:
# 查询所有数据
db..find()
# 查询数据条数
db..count({})
  1. 更新文档数据:
db..updateOne({ key: "value" }, { $set: { new_key: "new_value" } })
# 多条更新用updateMany
  1. 删除文档数据:
db..deleteOne({ key: "value" })
# 如果有个数据
# {
# 	outline: {
#   	name: "123456",
#     ...
#   },
#   ...
# }
# 而我们需要检索到对应的条件进行删除,则可以
db..deleteMany({ "outline.name": "aaa" })
  1. 删除集合:
db..drop()

三、复杂案例

场景:

假设我们有一个 users 集合,其中包含用户的信息。每个文档包含用户的姓名 (name)、年龄 (age)、所在城市 (city)、注册日期 (registration_date) 等信息。

步骤:

1.创建数据库和集合,并插入一些数据:

use complex_query_example

db.users.insertMany([
  { name: "Alice", age: 25, city: "New York", registration_date: ISODate("2022-01-01") },
  { name: "Bob", age: 30, city: "San Francisco", registration_date: ISODate("2022-02-15") },
  { name: "Charlie", age: 28, city: "Los Angeles", registration_date: ISODate("2022-03-20") },
  { name: "David", age: 35, city: "New York", registration_date: ISODate("2022-04-10") },
  { name: "Eve", age: 22, city: "San Francisco", registration_date: ISODate("2022-05-05") }
])

2.执行复杂查询:

现在,执行一个复杂查询,找出年龄在 25 到 30 岁之间、居住在 "New York" 或 "San Francisco" 的用户,并按注册日期降序排序。

db.users.find({
  $and: [
    { age: { $gte: 25, $lte: 30 } },
    { $or: [ { city: "New York" }, { city: "San Francisco" } ] }
  ]
}).sort({ registration_date: -1 })

这个查询使用了 MongoDB 的 $and$or 操作符,同时结合了年龄和城市的条件。结果会按照注册日期降序排序。

解释:

  • $and: 匹配同时满足多个条件的文档,就是在数组中的条件全部满足。
  • $or: 匹配满足任一条件的文档,就是在数组中的条件满足一个就行。
  • $gte, $lte: 大于等于、小于等于条件。
  • sort(): 对结果进行排序,-1 表示降序。

#微头条激励计划##2023年度创作挑战#

最近发表
标签列表