mongodb数据库

Posted zuoqiaodisan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb数据库相关的知识,希望对你有一定的参考价值。

mongod数据库的操作命令与方法

一、数据库常用命令与方法

1.查看所有的数据库
$ show dbs
注:当某个数据库下没有数据的时候是show不出来的

2.创建/切换数据库
$ use <数据库名字>
注:要切换的数据库不存在时,会先创建出来再切换过去。

3.查看当前使用的数据库
$ db.getName()

4.显示当前数据库状态
$ db.stats()

5.删除当前数据库
db.dropDatabase()
注:通过 show dbs 查看是否还在

二、集合(collection)常用命令与方法

1.创建集合
$ db.createCollection(‘集合名字‘)

2.查看当前数据库下所有的集合

$ db.getCollectionNames()
$ show collections

3.删除集合
$ db.集合名.drop()

三、文档(document)常用命令与方法

添加

1.save
$ db.<集合名>.save( document )

2.insert
$ db.<集合名>.insert( docuemnt || [...document] )

3.insertOne
$ db.<集合名>.insertOne( document )

4.insertMany
$ db.<集合名>.insertMany([...document])

修改

1.save
$ db.<集合名>.save( document )
注:传入 _id 时,可实现修改,可以理解为直接覆盖之前的 document

2.update

$ db.<集合名>.update(
  <query>,
  <update>,
  <options>
}

参数:
query:查询条件
update:修改内容 !!!
options:一些额外选项配置
? upsert:如果查询不到的时候是否直接增加这条记录。默认是 false
? multi:是否更新多条,默认是 false

3.updateOne

4.updateMany

删除

1.remove

$ db.<集合名>.remove(
  <query>,
  <options>
)

参数:
query:查询条件
options:配置项
justOne:是否只删除一条,默认是 false

  1. deleteOne

3.deleteMany

查询

1.查询所有记录
$ db.hello.find()

2.查询 age = 22 的记录
$ db.hello.find( { age: 22 } )

3.查询 age > 22 的记录
$ db.hello.find( { age: { $gt: 22 } } )

4.查询 age < 22 的记录
$ db.hello.find( { age: { $lt: 22 } } )

5.查询 age >= 22 的记录
$ db.hello.find( { age: { $gte: 22 } } )

6.查询 age <= 22 的记录
$ db.hello.find( { age: { $lte: 22 } } )

7.查询 age != 22 的记录
$ db.hello.find( { age: { $ne: 22 } } )

8.查询 age >= 23 并且 age <= 26 的记录
$ db.hello.find( { age: { $gte: 23, $lte: 26 } } )

9.查询 age >= 50 或者 name = 林强 的记录
$ db.hello.find( { $or: [ { age: { $gte: 50 } }, { name: ‘林强‘ } ] } )

10.查询 name = 张三 并且 age = 20 的记录
$ db.hello.find({ name: ‘张三‘, age: 20 })

11.? 查询 name 中包含 mongo 的记录
$ db.hello.find({ name: /mongo/ })

12.查询 name 中以 张 开头的记录
$ db.hello.find({ name: /^张/ })

13.查询 name 中以 mongo 结尾的记录
$ db.hello.find({ name: /mongo$/ })
14.查询 指定 name、age 字段的记录

# _id 会默认有
$ db.hello.find({}, { name: 1, age: 1 })
# 如果不想要 _id
$ db.hello.find({}, { name: 1, age: 1, _id: 0 })
# 如果只是排除掉一个或几个
$ db.hello.find({}, { address: 0 })

15.查询 指定 name、age 字段并且 age > 45 的记录
$ db.hello.find({ age: { $gt: 45 } }, { name: 1, age: 1 })

16.查询 按 age 升序的记录
$ db.hello.find().sort({ age: 1 })
17.查询 按 age 倒序的记录
$ db.hello.find().sort({ age: -1 })

18.查询 10 条之后的记录。(跳过前10条)
$ db.hello.find().skip(10)

19.查询 5 条记录。(限制条数)
$ db.hello.find().limit(5)

20.查询 10 条之后的 5 条记录
$ db.hello.find().skip(10).limit(5)

21.查询 第一条 记录
$ db.hello.findOne()

22.获取查询结果的个数
$ db.hello.find().count()
















































以上是关于mongodb数据库的主要内容,如果未能解决你的问题,请参考以下文章

mongodb关联查询

无法在 MongoDB(猫鼬)文档中追加数组

ios - Heroku 和 MongoDb 上的自定义解析服务器错误 3080:JSON 文本没有以数组或对象开头,并且允许未设置片段的选项

mongodb snappy 压缩数据大小与存储大小

在 Spring MongoDB 的 ReplaceRoot 管道阶段使用 $mergeObjects

文档数据库:冗余数据、参考资料等(特别是 MongoDB)