首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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 命令内容

创建集合(类似于表):

db.createCollection("")

显示集合列表:

show collections

插入文档数据:

db..insertOne({ key: "value" }) db..insertMany([ { key: "value1" } { key: "value2" } ])

查询文档:

# 查询所有数据 db..find() # 查询数据条数 db..count({})

更新文档数据:

db..updateOne({ key: "value" }, { $set: { new_key: "new_value" } }) # 多条更新用updateMany

删除文档数据:

db..deleteOne({ key: "value" }) # 如果有个数据 # { # outline: { # name: "123456", # ... # }, # ... # } # 而我们需要检索到对应的条件进行删除,则可以 db..deleteMany({ "outline.name": "aaa" })

删除集合:

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 表示降序。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Oe6aqZwRULtHjmLNRlo8sK7w0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券