Contents

数据库-MongoDB-简介

菜鸟教程

NoSQL(非关系型数据库)的一种,文档数据库

三个概念

数据库(database):存放集合

集合(collection);存放统一结构类型文档

文档(document):最小单位

基本指令

  • show dbs\database:显示当前所有数据库
  • use 数据库名:进入到指定的数据库中(可以不存在)
  • db:表示我们当前所处的数据库
  • show collections:显示我们数据库中所有的集合

CRUD操作

插入文档

db.collection.insert(doc):向collection集合中插入一个或多个(使用数组json)文档,数据库会自动给未指定_id属性的文档添加该属性

db.collection.insertMany():传入并插入多个对象文档

查询文档:

db.collection.find({属性:值}):查满足条件的所有文档,返回一个数组

db.collection.findOne({属性:值}):返回一个文档

db.stus.find({}).count():查询所有结果的数量

db.COLLECTION_NAME.find().sort({KEY:1})排序

db.COLLECTION_NAME.find().limit(NUMBER) limit方法

db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER) skip方法(相当于mysql的offset)

修改文档

db.collection.update(查询条件,新对象):默认替换一个对象

想要不替换可以使用下列键的对象:$set修改指定文档属性,$unset删除指定文档属性

1
2
3
db.stus.update(
    {"_id" : ObjectId("5f86edc1048d21081bd45f3b")},
    {$set:{gender:"男",address:"流沙河"}})

db.collection.updateMany():同时修改多个符合条件的文档

db.collection.updateOne():修改一个符合条件的文档

db.collection.replaceOne():替换一个符合条件的文档

内嵌文档可以则可以通过".“的形式来查询属性

1
db.user.find("hobby.movies""hero");

删除文档

db.collection.remove()接收和find一样的条件参数,默认删除多个。如果第二个参数为true则只删除一个

db.collection.drop():删除集合(如果是最后一个集合,会删除数据库)

文档间的关系

内嵌对象或引用实现一对一,一对多,多对多

 |