MongoDB基础操作

MongoDB的基本操作
查看数据库
show dbs;
切换数据库 如果没有对应的数据库则创建
use 数据库名;
创建集合
db.createCollection("集合名")
查看集合
show tables;
show collections;
删除集合
db.集合名.drop();
删除当前数据库
db.dropDatabase();
show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB
> show databases;
admin   0.000GB
config  0.000GB
local   0.000GB

MongoDB集合数据操作(CURD)

数据添加
  1. 插入单条数据 db.集合名.insert(文档)
    文档的数据结构和JSON基本一样。
    所有存储在集合中的数据都是BSON格式。
    BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON

  2. 例如:
    db.resume_preview.insert({name:“张晓峰”,birthday:new ISODate(“2000-07-
    01”),expectSalary:15000,gender:0,city:“bj”})
    没有指定 _id 这个字段 系统会自动生成 当然我们也可以指定 _id
    ( _id 类型是ObjectId 类型是一个12字节 BSON 类型数据,有以下格式:
    前4个字节表示时间戳 ObjectId(“对象Id字符串”).getTimestamp() 来获取
    接下来的3个字节是机器标识码
    紧接的两个字节由进程id组成(PID)
    最后三个字节是随机数。)

  3. 插入多条数据
    db.集合名.insert([文档,文档])

数据查询

比较条件查询
db.集合名.find(条件)
在这里插入图片描述

逻辑条件查询

and 条件
MongoDB 的 find() 方法可以传入多个键(key),每个键(key)以逗号隔开,即常规 SQL 的 AND 条件
db.集合名.find({key1:value1, key2:value2}).pretty()
or 条件
db.集合名.find({KaTeX parse error: Expected 'EOF', got '}' at position 34: … {key2:value2}]}̲).pretty() not …not:{$操作符:value}}).pretty()


db.resume_preview.find({city:"bj"})


db.resume_preview.find({expectSalary:18000})


db.resume_preview.find({expectSalary:{$eq:18000}})


db.resume_preview.find({expectSalary:{$gt:18000}})

db.resume_preview.find({expectSalary:{$lt:18000}})


db.resume_preview.find({$and:[{city:"sh",expectSalary:{$eq:20000}}]})




db.resume_preview.find({$or: [{city:"bj"},{expectSalary:{$eq:20000}}]})


db.resume_preview.find({city:{$not:{$eq:"bj"}}})
/*排序*/ 

db.resume_preview.find({}).sort({expectSalary:1}).pretty()



分页查询

db.集合名.find({条件}).sort({排序字段:排序方式})).skip(跳过的行数).limit(一页显示多少数据)

db.resume_preview.find({}).sort({expectSalary:1}).pretty().skip(1).limit(3)
更新
$set :设置字段值
$unset :删除指定字段
$inc:对修改的值进行自增
db.集合名.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)

参数说明:
query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如 s e t , set, set,inc…)等,也可以理解为sql update中set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,MongoDB 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,用来指定mongod对写操作的回执行为比如写的行为是否需要确认。
举例:
db.集合名.update({条件},{$set:{字段名:值}},{multi:true})

writeConcern 包括以下字段:
{ w: , j: , wtimeout: }
w:指定写操作传播到的成员数量
比如:
w=1(默认):则要求得到写操作已经传播到独立的Mongod实例或副本集的primary成员的确认
w=0:则不要求确认写操作,可能会返回socket exceptions和 networking errors
w=“majority”:要求得到写操作已经传播到大多数具有存储数据具有投票的(data-bearing voting
)成员(也就是 members[n].votes 值大于0的成员)的确认
j:要求得到Mongodb的写操作已经写到硬盘日志的确认
比如:
j=true:要求得到Mongodb(w指定的实例个数)的写操作已经写到硬盘日志的确认。j=true本身并不保证
因为副本集故障而不会回滚。
wtimeout:指定write concern的时间限制,只适用于w>1的情况
wtimeout在超过指定时间后写操作会返回error,即使写操作最后执行成功,当这些写操作返回时,
MongoDB不会撤消在wtimeout时间限制之前执行成功的数据修改。
如果未指定wtimeout选项且未指定write concern级别,则写入操作将无限期阻止。 指定wtimeout值
为0等同于没有wtimeout选项。

数据删除
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)


数说明:
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值
false,则删除所有匹配条件的文档。
writeConcern :(可选)用来指定mongod对写操作的回执行为

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值