MongoDB数据库操作常用语法

一、创建数据库

创建:
use DATABASE_NAME(数据库名称)
如果数据库不存在,则创建数据库,否则切换到指定数据库。
显示所有数据库:
show dbs
刚创建的数据库,并不在数据库的列表中, 要显示它,我们需要向其中插入一些数据。
插入数据:
db.DATABASE_NAME.insert(data)
例子如下:
在这里插入图片描述
结果:
在这里插入图片描述

二、删除数据库

切换到指定数据库:
use DATABASE_NAME(数据库名称)
删除操作:
db.dropDatabase()
例子:
在这里插入图片描述

三、创建删除集合

创建集合:
db.createCollection(name,options)
name:集合名称
options:指定有关内存大小及索引的选项
当插入一些数据时,MongoDB 会自动创建集合。
查看已有集合:
show collections
删除集合:
db.collection.drop()
例子:
在这里插入图片描述

四、插入/更新/删除/查询数据

插入

插入数据:
db.COLLECTION_NAME.insert(document)
如果该集合不在该数据库中, MongoDB 会自动创建该集合并插入文档。
例子:
在这里插入图片描述
插入一条数据:
db.COLLECTION_NAME.insertOne(document)
插入多条数据:
db.COLLECTION_NAME.insertMany(document)
例子:
在这里插入图片描述

修改

更新数据–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 :可选,抛出异常的级别。
例子:
在这里插入图片描述
更新数据–save() 方法:
整体替换

db.collection.save(
   <document>,
   {
     writeConcern: <document>
   }
)

参数说明:
document : 文档数据。
writeConcern :可选,抛出异常的级别。
例子:
在这里插入图片描述

查询

查询数据:
db.collection.find(query, projection)
query :可选,使用查询操作符指定查询条件
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
例子:
在这里插入图片描述
读取数据:
db.collection.find().pretty()
按条件查询:
大小:
在这里插入图片描述
AND和:(逗号隔开)
db.col.find({key1:value1, key2:value2}).pretty()
OR或:(数组形式)

 db.col.find(
       {
          $or: [
             {key1: value1}, {key2:value2}
          ]
       }
    ).pretty()

例子:
在这里插入图片描述
查询指定的几条数据(Limit/Skip)
db.COLLECTION_NAME.find().limit(number).skip(number)
limit表示查询的数据条数
skip表示跳过的数据条数
例子:
在这里插入图片描述
模糊查询(/数据/):
db.COLLECTION_NAME.find({name: /数据/});
查询以某数据开头( /^数据/):
db.COLLECTION_NAME.find({name: /^数据/});
查询指定列(数据:1):
db.COLLECTION_NAME.find({},{数据:1});
排序(sort(key:1/-1)):
db.COLLECTION_NAME.find().sort(KEY:1/-1)
1为升序,-1为降序
查询某个结果集的记录条数 统计数量(count()):
db.COLLECTION_NAME.find({age: {$gte: 25}}).count();
索引查询
创建索引
db.COLLECTION_NAME.ensureIndex({“索引名”:1})
创建复合索引
db.COLLECTION_NAME.ensureIndex({“索引名1”:1,“索引名2”:1})
创建唯一索引
db.db.COLLECTION_NAME.ensureIndex({“索引名”:1},{“unique”:true})
获取索引
db.COLLECTION_NAME.getIndexes()
删除索引
db.COLLECTION_NAME.dropIndex({“索引名”:1})
explain查询更多信息
db.COLLECTION_NAME.find().explain()
explain(executionStats)获取查询时间
db.COLLECTION_NAME.find().explain(executionStats)

删除

删除数据:

db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)

参数说明:
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档。
writeConcern :(可选)抛出异常的级别。
例子:
删除指定的数据
在这里插入图片描述
删除一条:

db.col.deleteOne(<query>,
       {
         justOne: <boolean>,
         writeConcern: <document>
       }
)

全部删除:
db.col.deleteMany({})
例子:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_40970987/article/details/82966688