Mongodb基本使用

Mongodb基本使用

Mongodb是一个文档型数据库,与我们熟悉的关系型数据库如mysql等不一样,它属于nosql类型的数据库.它在存储JSON格式的文本上有很大的优势.并且随着Mongodb的不断发展,他在大部分应用场景中的速度,稳定性已经不输给很多传统数据库.

Mongodb的安装

在网络上已经有很多安装Mongodb的教程了.我在这里推荐两个:

  • 菜鸟教程:Windows安装Mongodb
  • 官方安装指南:https://www.runoob.com/mongodb/mongodb-window-install.html

如果嫌麻烦,我们可以使用云数据库,在Mongodb的官网推荐了一个可以免费使用的云Mongodb数据库

Mongodb基本命令

数据库管理

切换数据库

在Mongodb中,数据库管理集合,集合包含若干文档.集合可以看作传统数据库中的表,文档就是每一行数据.

我们如果要选择使用其中的一个数据库,可以用以下语句

use MyDB
创建数据库

Mongodb在我们没有数据库时,如果对其插入了一条新的数据,则会自动创建这样的一个数据库

use MyDB //假设这时候MyDB不存在

db.MyCollections.insertOne({x:1})

这个时候,insertOne的操作会自动创建名为MyDB的数据库,名为MyCollections的集合,并在其中插入一个文档

集合操作

创建一个集合
db.myNewCollection2.insertOne( { x: 1 } )
db.myNewCollection3.createIndex( { y: 1 } )

在上面的两条Collection不存在的情况下,执行语句,这些集合都会被创建

如果你想要在创建集合时,规定集合的一些元参数,如最大值,或者插入时的验证规则等等,你可以用db.createCollection()方法来进行创建.对其创造时候详细的参数设置,可参见这个链接

验证集合

通常来说,一个集合不对其中的字段作要求.但是,你可以强制指定要遵循的验证规则

⭐CRUD⭐

插入操作

通常会用两个方法来进行文档插入

db.collection.insertOne()

db.collection.insertMany()

参数是JSON对象与JSON对象数组

MongoDB中没有事务管理机制,但是它确保了对同一个文档来说,所有的写入操作都是原子的,即使是更改单个文档中的多个嵌入文档(即嵌套JSON对象)

下面这个语句插入了一段简单的json文档进入inventory集合中

db.inventory.insertOne(
   { item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } }
)

insertOne会返回一个包含了新插入文档的_id字段的文档

{
    "acknowledged": true,
    "insertedId": ObjectId("5d762d93b400000011006ff2")
}

下面这段语句插入了包含json数组的文档

db.inventory.insertMany([
   { item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } },
   { item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },
   { item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }
])

则会返回如下的字段

{
    "acknowledged": true,
    "insertedIds": [
        ObjectId("5d7635a8b400000011006ff3"),
        ObjectId("5d7635a8b400000011006ff4"),
        ObjectId("5d7635a8b400000011006ff5")
    ]
}

关于_id字段,在Mongodb中,每一个文档都会有一个_id字段作为主键,插入时可以不需要指定这个字段,mongodb会自动生成.

参考:

insertOne

insertMany

读取操作

我们可以使用以下命令来从集合中检索文档

db.collection.find()

检索文档的操作比较复杂,所以会在另一篇文章中作详细说明

参考

find()

更新操作

更新操作比较简单,其选择方式与读取操作类似

删除操作

mongodb可以用以下两个方法来删除元素

db.collection.deleteOne()
db.collection.deleteMany()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值