MongoDB 5.0.8版本的使用

目录

MongoDB 的概念解析

MongoDB 常用命令:

MongoDB 文档的增删改查:

1、插入数据:insert() 与 save()

 2、更新文档:update()

3、 删除文档:remove() 用来移除集合中的数据。

4、查询数据:find() 

MongoDB 查询数据详细:



操作系统是win10 ,下载的MongoDB 版本是5.0.8

发现在网上搜索的很多命令都不能把数据服务启动起来

其实MongoDB 5.0.8的启动相对来说更简单

是需要在 Windows PowerShell (以管理员身份运行)里输入:net start MongoDB 就可以把数据服务启动起来。

前提是系统服务里存在MongoDB 5.0.8的服务。

可以运行里输入:services.msc 查看系统服务

Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。

尝试新的跨平台 PowerShell https://aka.ms/pscore6

PS C:\WINDOWS\system32> net start MongoDB
MongoDB Server (MongoDB) 服务正在启动 ..
MongoDB Server (MongoDB) 服务已经启动成功。

MongoDB 的概念解析

SQL概念MongoDB 概念解释
databasedatabase数据库
tablecollection数据库:表/集合
rowdocument数据记录:行/文档
columnfield数据:字段/域
indexindex索引
table joins表连接,MongoDB不支持
primary keyprimary key主键,MongoDB自动将_id字段设置为主键

MongoDB 常用命令:

// cd 到 MongoDB 安装的 bin 目录下
.\mongo.exe

// 数据库不存在,则创建数据库,否则切换到指定数据库。
use [DATABASE_NAME]

// 查看所有数据库,可以使用 show dbs
show dbs 
// 注意: 在 MongoDB 中,集合只有在内容插入后才会创建! 
// 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。

// 新建 数据表
> use test
switched to db test

// 查看当前所在数据库
db

// 查看数据库下的集合
 show collections

// 查看集合里所有文档内容:db.[集合名].find()
> db.[books].find()

// 格式化输出文档内容
>db.[books].find().pretty()

// 删除当前数据库
> db.dropDatabase()
// { "ok" : 1 } 表示成功

// 删除集合
// db.[集合名].drop()
> db.test.drop()
// true 表示成功

// 创建集合 --name表示集合名,--options可选参数, 指定有关内存大小及索引的选项
db.createCollection(name, options)

// 创建用户
db.createUser({user:"admin",pwd:"1223456",roles:[{role:"userAdiminAnyDatabase",db:"admin"}]})

MongoDB 文档的增删改查:

        文档也就是 sql 里的行数据,代表一条数据记录(通常看作一个对象/字典),文档是集合里的成员

        文档的数据结构和 JSON 基本一致,所有存储在集合中数据都是 BSON 格式

        BSON 是一种类似 JSON 的二进制形式的存储格式,是 Binary JSON 的简称

1、插入数据:insert() 与 save()

1.1 insert()

# 插入文档1:
// 插入文档1 --如果其中的集合不存在那么就创建它
// 语法:db.[COLLECTION_NAME].inset([document])
// --COLLECTION_NAME 集合名
// --document 文档,json 或是 python中的字典
// --注意文档中的_id字段,在插入文档的时候没有指定,MongoDB会自动生成
// 如:
// db.[集合名].insert({name:'李白',age:58})	

> db.test.insert({name:'李白',age:58})
// WriteResult({ "nInserted" : 1 }) 表示插入数据成功

// 插入文档2 --先创建数据,再插入
> dict={name:'李白',age:98}
{ "name" : "李白", "age" : 98 }
> db.insert(dict)

1.2  save()

如果不指定_id字段,方法类似于 insert()方法;如果指定_id字段,则会更新该_id字段的数据

# 插入文档命令2:save()
# 如果不指定_id字段,方法类似于 insert()方法;如果指定_id字段,则会更新该_id字段的数据
> db.books.save({_id:1,name:'王昌龄',age:108})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

 2、更新文档:update()

update() 和 save() 方法(在指定_id时也有更新文档的功能)来更新集合中的文档。

update() 用于更新已经存在的文档

语法格式如下:
db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)
参数说明:
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。

// 例句:--把 _id为:1 的那条数据,age的值改为:18
> db.books.update({_id:1},{$set:{age:18}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

3、 删除文档:remove() 用来移除集合中的数据。

语法规则:
db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)
参数说明:
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值 false,则删除所有匹配条件的文档。
writeConcern :(可选)抛出异常的级别。

// 例句:--删除条件为 author:'记不得了' 的记录(文档)也就是行数据
> db.books.remove({author:'记不得了'})
WriteResult({ "nRemoved" : 1 }) 

4、查询数据:find() 

db.[collection].find(query, projection)
query :可选,使用查询操作符指定查询条件
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

// 查看集合里所有文档内容:db.[集合名].find()
> db.books.find()

// pretty() 方法以格式化的方式来显示所有文档。
>db.books.find().pretty()

# 条件查询:AND 条件
MongoDB 的 find() 方法可以传入多个键(key),每个键(key)以逗号隔开,即常规 SQL 的 AND 条件。
语法格式如下:
>db.col.find({key1:value1, key2:value2}).pretty()
# 条件查询:OR 条件
语法格式如下:
>db.col.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()

# 条件查询:AND 和 OR 联用
语法格式如下:
>db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()

MongoDB 查询数据详细:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值