MongoDB学习---简单CURD命令

对数据的curd

db.newcol.insert({"name", "张三"})  // id冲突会报错
db.newcol.save() // 更新数据, 不存在就插入 新版本已废弃 用 db.collection.insertOne() or db.collection.replaceOne()来代替
可以先
var document = ({name:'asdasd'})
然后
db.newcol.insert(document)这样操作
document还可以为对象数组

db.newcol.remove({"name", "张三"})
db.newcol.remove(
	<query>  查询条件
  <options>
)
options属性名类型描述
justOnebool(可为true 可为1)默认为false,删除满足条件的所有,true时只删除一个
writeConcerndocument抛出异常的级别

db.order.find()
db.order.find({'name': '张三'})
db.order.find({'name': '张三'}).pretty() // 格式化查询出的数据
db.order.find({'name': /张/}) 含张 // 可使用正则查询
db.order.find({score: {$gt:60}}) score > 60的
db.order.find({score: {$gt:60, $lt:80}}) score > 60并且 < 80
// lt < lte <= gt > gte >= ne != 
db.order.find({'name': '张三', 'score':'60'}) // 多个条件相当于and
db.order.find({$or :[{'name': '张三'}, {'score':'60'}]}) // or
// 联表查询 $lookup
db.order.aggregate(
[
  {
    $lookup:
    	{
        from:'targetTables', // 联合的第二个表
        localField: 'name', // 本表想对比的值的属性名
        foreignField: 'sku', // 联合表对应的属性名
        as: 'demo' // 别名
      }
  }
]
)

在这里插入图片描述

db.newcol.update({"name": "张三"},{$set:{"name":"李四"}})
db.newcol.update(
	<查询条件>,  类比sql where
  <更新内容>,	 类比sql upadate set
  opations
)
options属性名类型描述
upsertbool当没有符合条件时,是否插入set后面的,true为插入
multibool默认为false 只更新查找到的第一条记录,为true就把查出来的多条更新
writeConcerndocument抛出异常的级别

在这里插入图片描述

插入

在这里插入图片描述

对数据库的操作

创建数据库

use DATABASE_NAME  // 如果数据库不存在就创建 如果存在就切换
为空的数据库不会显示在 show dbs中  需要往里面插入一条数据, 才会显示
数据库 --》 集合
数据 --》 文档(记录)

查看所有数据库

show dbs // 查看所有数据库

db  // 显示当前使用数据库

删除数据库

db.dropDatabase() // 删除当前数据库

对集合的操作

创建集合

db.createCollection(name, options)

db.createCollection('example',{
	capped:true,
	size: 2048000, // 2048000 KB
	max: 1000
})

options:

属性名类型描述
capped布尔为true 创建固定集合,达到最大值会自动覆盖最早的文档
autoIndexId布尔3.2后不支持 为true 自动在_id字段创建索引,默认为false
size数值为固定集合创建一个最大值 KB为单位
max数值指固定集合中包含文档的最大数量

插入文档时, MongoDB 首先检查固定集合的size字段 ,然后检查max字段

查看集合

show tables or show collections

删除集合

db.collection.drop()

limit,skip,sort

limit(num) 显示num条数据

skip(num) 跳过num条数据

sort({key: value}) key: 排序属性名 value: 1为升序 -1为降序

当find查询,三者都有时,顺序是sort() 然后skip() 最后limit()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值