专业编程基础技术教程

网站首页 > 基础教程 正文

MongoDB基础——常用sql语句

ccvgpt 2024-12-04 09:27:29 基础教程 8 ℃


常用语句

概念解析(与)

MongoDB基础——常用sql语句



创建数据库

use DATABASE_NAME;

Copy

删除数据库

db.dropDatabase();#默认为当前数据库

Copy

创建集合

db.createCollection(name, options);
参数说明:
name: 要创建的集合名称
options: 可选参数, 指定有关内存大小及索引的选项
实例:db.createCollection("mycol", { capped : true, autoIndexId : true, size : 
   6142800, max : 10000 } )

Copy

删除集合

db.collection.drop()
如果成功删除选定集合,则 drop() 方法返回 true,否则返回 false。

Copy

插入文档

db.COLLECTION_NAME.insert(document)
或
db.COLLECTION_NAME.save(document)

save():如果 _id 主键存在则更新数据,如果不存在就插入数据。该方法新版本中已废弃,可以使用 db.collection.insertOne() 或 db.collection.replaceOne() 来代替。 
insert(): 若插入的数据主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常,提示主键重复,不保存当前数据。

 版本之后新增了 db.collection.insertOne() 和 db.collection.insertMany()。
db.collection.insertOne() 用于向集合插入一个新文档,语法格式如下:
db.collection.insertOne(
   <document>,
   {
      writeConcern: <document>
   }
)
db.collection.insertMany() 用于向集合插入一个多个文档,语法格式如下:
db.collection.insertMany(
   [ <document 1> , <document 2>, ... ],
   {
      writeConcern: <document>,
      ordered: <boolean>
   }
)
参数说明:
document:要写入的文档。
writeConcern:写入策略,默认为 1,即要求确认写操作,0 是不要求。
ordered:指定是否按顺序写入,默认 true,按顺序写入。

Copy

删除文档

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

删除集合下全部文档:
db.inventory.deleteMany({})
删除 status 等于 A 的全部文档:
db.inventory.deleteMany({ status : "A" })
删除 status 等于 D 的一个文档:
db.inventory.deleteOne( { status: "D" } )

Copy

查询文档

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

**如果集合为数字,需要换一种查询方式
db.getCollection(name).find()

如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:
>db.col.find().pretty()
pretty() 方法以格式化的方式来显示所有文档。


AND 条件
语法格式如下:
>db.col.find({key1:value1, key2:value2}).pretty()

OR 条件
 OR 条件语句使用了关键字 $or,语法格式如下:
>db.col.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()

Copy

条件操作符

(>) 大于 - $gt
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte
实例:
db.col.find({likes : {$gt : 100}});

Copy

$type 操作符

作用:$type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果。
实例:db.col.find({"title" : {$type : 'string'}})

Copy

Limit与Skip方法

limit语法:
db.COLLECTION_NAME.find().limit(NUMBER);
skip() 
语法:
db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER);
作用:
skip()方法来跳过指定数量的数据

Copy

sort()方法

sort() 方法
作用:可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。
基本语法:
>db.COLLECTION_NAME.find().sort({KEY:1})

mongoDB基础系列,会持续更新,想了解的朋友可以关注 ,文章有帮助的话可以长按点赞有惊喜!!!文章比较长,大家可以先 收藏转发后再看有什么补充可以在下面评论,谢谢大家

最近发表
标签列表