MongoDB基础学习笔记

2019-01-15  本文已影响0人  let423

基础知识

特点
一些术语
SQL术语 MongoDB术语 说明
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引
table joins - 表连接,MongoDB不支持
primary key primary key 主键,MongoDB自动将_id字段设置为主键
数据库
文档
(1) 文档中的键值对是有序的
(2) 文档中的值不仅可以是字符串,也可以是其它几种数据类型
(3) MongDB 的文档不能有重复的键
(4) MongoDB 区分类型和大小写
(5) 文档的键是字符串,除了少数例外的情况,键可以使用任意UTF-8字符
(1)不能含有空字符,这个字符用来表示键的结尾
(2). 和 $ 有特别的意义,只有在特定环境下才能使用
(3)以下划线开头的键是保留的
集合
objectId
# 取文档的创建时间:
> var newObject = ObjectId()
> newObject.getTimestamp()
ISODate("2017-11-25T07:21:10Z")

# ObjectId转为字符串:
> newObject.str
5a1919e63df83ce79df8b38f

相关操作

MongoDB创建数据库
  1. 创建数据库
> use mydatabase
switched to db runoob
> db
mydatabase
>
  1. 查看数据库
> show dbs
> db
MongoDB删除数据库
  1. db.dropDatabse()
  2. db.collecion.drop() 删除集合,其中collection是集合的名字
MongoDB创建集合
  1. db.createCollection(name, options)
    name 要创建的集合名称
    options 指定有关内存大小以及索引的选项
  2. 在MongoDB中,不需要创建集合,当需要插入文档时,MongoDB会自动创建集合
MogonDB删除集合
  1. db.collection.drop()
    返回值:删除成功返回true,否则返回false
  2. show collcetions 查看已存在的集合
MongoDB插入文档
  1. 使用insert()或save()方法向集合中插入文档
db.COLLECTION_NAME.insert(document).insert(document)
MongoDB更新文档
  1. update()用于更新已经存在的文档
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
})


>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
  1. save() 方法通过传入的文档来替换已有文档
db.collection.save(
<document>,
{
writeConcern: <document>
})
>db.col.save({
"_id" : ObjectId("56064f89ade2f21f36b03136"),
"title" : "MongoDB",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "Runoob",
"url" : "http://www.runoob.com",
"tags" : [
"mongodb",
"NoSQL"
],
"likes" : 110})
MongoDB删除文档
  1. remove()函数是用来移除集合中的数据
  2. 语法:
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
})
MongoDB查询文档

db.collection.find() 以非结构化的方式来显示所有文档
db.collection.find().pretty() 以易读的方式来读取数据
db.collection.findOne() 只返回一个文档

  1. MongoDB与RDBMS where语句比较
操作 格式 范例 RDBMS中的类似语句
等于 {<key>:<value>} db.col.find({"by":"菜鸟教程"}).pretty() where by = '菜鸟教程'
小于 {<key>:{$lt:<value>}} db.col.find({"likes":{$lt:50}}).pretty() where likes < 50
小于或等于 {<key>:{$lte:<value>}} db.col.find({"likes":{$lte:50}}).pretty() where likes <= 50
大于 {<key>:{$gt:<value>}} db.col.find({"likes":{$gt:50}}).pretty() where likes > 50
大于或等于 {<key>:{$gte:<value>}} db.col.find({"likes":{$gte:50}}).pretty() where likes >= 50
不等于 {<key>:{$ne:<value>}} db.col.find({"likes":{$ne:50}}).pretty() where likes != 50
  1. MongoDB AND条件
>db.col.find({key1:value1, key2:value2}).pretty()
  1. MongoDB OR条件
>db.col.find({$or:[{"by":"菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()
  1. AND和OR联合使用
>db.col.find({"likes": {$gt:50}, $or: [{"by": "someone"},{"title": "MongoDB 教程"}]}).pretty()
MongoDB条件操作符
符号 解释
$gt 大于
$lt 小于
$gte 大于等于
$lte 小于等于
MongoDB Limit与Skip方法
  1. limit() 在MongoDB中读取指定数量的数据记录
>db.COLLECTION_NAME.find().limit(NUMBER)
  1. skip() 来跳过指定数量的数据,接受一个数字参数作为跳过的记录条数,skip()方法默认参数为0
>db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)
MongoDB 排序

1.sort () 方法可以通过指定参数指定排序的字段, 并使用 1-1 来指定排序的方式,其中 1 为升序排序,-1 为降序排序

2.语法:

>db.COLLECTION_NAME.find().sort({KEY:1})
MongoDB 索引
  1. 索引的作用:能够极大的提高查询的效率
  2. 创建索引:createIndex()
>db.collection.createIndex(keys, options)

说明:key值为要创建的索引字段,1为按升序创建索引,-1为按降序创建索引

MongoDB 聚合
  1. MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和),并返回计算后的数据结果。
  2. 语法:
>db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)
学习链接

官方文档:https://docs.mongodb.com/
菜鸟教程:http://www.runoob.com/mongodb/mongodb-tutorial.html

上一篇下一篇

猜你喜欢

热点阅读