mongodb 简单操作

发表于 2020-06-09  1.01k 次阅读


进入命令 mongo

mongo

查看 数据库

show dbs

选择/创建 数据库

use db

删除 数据库

use db
db.dropDatabase

查看 集合(表)

show collections

创建 集合(表)

db.createCollection(name, options)
db.createCollection("user", {capped: true, size: 51200, autoIndexId: true, max: 10000})
  • capped:是否开启限制固定集合的大小,超过限制时会覆盖最早的记录 bool
  • size:capped为true是必填,固定集合的大小 单位KB int
  • autoIndexId:自动在 _id 字段创建索引
  • max:集合最大文档(行)数量

删除 集合(表)

db.collection.drop()
db.user.drop()

添加 文档(行)

db.collection.insert(obj)
db.user.insert({name: "a", age: 18, tabs: ["a", "b", "c"], likes: 1000})

//查看添加
var dom = {name: "b", age: 20, tabs: ["b", "c", "d"], likes: 1200}
var res = db.user.insertOne(dom)
res  
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5eb90e597806784e6d04f743")
}

//批量添加
var doms = [{name: "cc", age: 20, url: "https://baidu.com", tags: ["w", "p", "e"], likes: 2000},{name: "dd", age: 18, url: "https://baidu.com", tags: ["w", "p", "e"], likes: 2000} ]
var res = db.user.insertMany(doms)
res
{
    "acknowledged" : true,
    "insertedIds" : [
        ObjectId("5eb911ead5386637c9e035ff"),
        ObjectId("5eb911ead5386637c9e03600")
    ]
}

查询 文档(行)

db.collection.find(query)
//简单查询
db.user.find({"name": "dd"}).pretty()
db.user.find({"likes": {$lt: 1000}}).pretty()
//lt lte gt gte ne
  • query 查询条件
  • pretty() 易读模式
  • lt 小于 less than
  • lte 小于等于 less than equal
  • gt 大于 greater than
  • gte 大于等于 greater than equal
  • ne 不等于 not equal
or查询
db.user.find({$or: [{name: "cc"}, {name: "dd"}]}).pretty()
组合查询
db.user.find({'name':'dd', $or: [{'age': 18}, {'age': 20}]}).pretty()
mysql:select * from user where name = 'dd' AND (age = 18 or age = 20)

limit方法

//查询前两个数据
db.user.find({name: "cc"}).limit(2).pretty()

skip方法

//偏移量
db.user.find({name: "cc"}).limit(2).skip(2).pretty()

sort方法

//排序 -1 倒序 1 正序
db.user.find({name: "cc"}).sort({'likes': -1}).pretty()

更新 文档(行)

db.collection.update(query, update, option)
db.use.update({'name': 'dd'}, {$set:{'age': 10}}, {upsert: false, multi: false})
  • query 查询条件
  • update 更新数据
  • upsert 默认是false,如果不存在update的记录,是否插入objNew,true为插入
  • multi 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新
  • $set 设置键值对,有键就更新,没有键就添加
  • $unset 移除键值对,有移除,没有不处置

删除 文档(行)

//删除全部
db.collection.deleteMany(query)
db.user.deleteMany({'name': 'dd'})

//删除单个
db.collection.deleteOne(query)
db.user.deleteOne({'name': 'dd'})
本站文章基于国际协议BY-NA-SA 4.0协议共享;
如未特殊说明,本站文章皆为原创文章,请规范转载。

0

一盏灯 一座城 找一人 一路的颠沛流离