首页 > 数据库技术 > 详细

MongoDB基本常用命令

时间:2020-03-22 20:42:55      阅读:61      评论:0      收藏:0      [点我收藏+]

1.数据库操作

1.1选择和创建数据库的语法格式:

use 数据库名称

如果数据库不存在则自动创建

查看有权限查看的所有数据库命令:

show dbs或show databases

注意:在MongoDB中,集合只有在内容插入后才会创建!就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。

查看当前正在使用的数据库命令:

db

MongoDB中默认的数据库为test,如果你没有选择数据库,集合将存放在test数据库中。

 技术分享图片

 1.2数据库的删除

MongoDB删除数据库的语法格式如下:

db.dropDatabase()

提示:主要用来删除已经持久化的数据库,删除的是当前所在的库。

2.集合操作

集合,类似于关系型数据库中的表。

2.1可以显示的创建,也可以隐式的创建。

 2.1.1.集合的显式创建

基本语法格式:

db.createCollection(name)

参数说明:name为要创建的集合名

2.1.2集合的隐式创建

当向集合中插入一个文档,如果文档不存在,就会自动创建集合。

2.2 查询当前库中的所有集合

基本语法格式:

show collections

2.3 集合的删除

基本语法格式:

db.集合名.drop()

如果成功删除选定集合,则返回true,否则返回false

3.文档基本crud

文档的数据机构和sjon基本一样。所有存储在集合中的数据都是BSON格式。

3.1文档的插入

 3.11单个文档插入

使用insert()或save()方法向集合中插入文档。语法如下:

db.collection.insert(
<document or array of documents>,
{
  writeConcern:<document>,
  ordered:<boolean>
}
)

参数

技术分享图片

示例:

 技术分享图片

返回WriteResult({"nInserted" : 1}),则说明插入一条数据成功。

 提示:

1.comment集合如果不村子,则会隐式创建

2.mongo中的数字,默认情况下是duuble类型,如果要存整型,必须使用函数NumberInt(整型数字),否则取出来就有问题了。

3.插入当前日期使用new Date()

4.插入的数据没有指定_id会自动生成主键值

5.如果某字段没值,可以赋值为null,或不写该字段。

3.1.2批量插入

语法如下:

db.collection.insertMany(
[<document 1>,<document 2>,...],
{
    writeConcern:<document>,
    ordered:<boolean>
}
)

示例:

 技术分享图片

 3.2文档的基本查询

 查询数据的语法格式如下:

db.collection.find(<query>,[projection]) 

参数:

技术分享图片

 3.2.1基本查询

 示例1:查询集合中的所有文档

db.comment.find()或db.comment.find({})

技术分享图片

 

 这里每条文档会有个交_id的字段,这个相当于我们原来关系型数据库中表的主键,当你在插入文档记录时没有指定该字段,MongoDB会自动创建,其类型是ObjectID类型。

示例2:条件查询集合中的文档

在find()中添加参数即可,参数也是json格式,如下:

db.comment.find({"cid":"1"})

 如果需要返回符合条件的第一条数据,我们可以使用findOne命令来实现,语法跟find一样

3.2.2投影查询

  如果要查询机构返回部分字段,则需要使用投影查询(不现实所有字段,只显示指定的字段)。

技术分享图片

 

 如果查询全部,只显示部分字段,该字段用json格式1表示。默认_id要显示,如果想排除_id则跟上_id:0

 3.3 文档的更新

更新文档的语法:

db.collection.update(query,update,options)
//或
db.collection.update(
<query>,
<update>,
{
   upsert:<boolean>,
   multi:<boolean>,
   writeConcern:<document>,
   arrayFilters:[<filterdocument1>,....],
   hint:<document|string>   //available starting in mongodb 4.2
}
)

示例:

1.覆盖的修改

执行db.comment.update({"_id":"1"},{"name":"xxx"})后,发现除了name字段外其他字段都没见了。

2.局部的修改

为了解决上面问题,使用修改器$set来实现。

执行db.comment.update({"_id":"2"},{$set:{"name":"xxxx"}}),只修改该文档的name字段的值,不会出现其他字段消失。

 技术分享图片

 

 3.批量修改

例:更新所有cid为1的用户昵称为xxx

//默认只修改第一条数据
db.comment.update({"cid":"1"},{$set:{"name":"xxx"}})

//修改所有符合条件的数据
db.comment.update({"cid":"2"},{$set:{"name":"xxx"}},{multi:true})  

提示:如果不加后面的参数,则只更新符合条件的第一条记录

技术分享图片

 

 3.4 删除文档

删除文档的语法结构:

db.集合名词.remove(条件)

以下语句可以将数据全部删除,请慎用

db.集合名称.remove({})

MongoDB基本常用命令

原文:https://www.cnblogs.com/mabaoying/p/12546525.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!