MongoDB v4.0 命令
MongoDB v4.0 命令
官方文档 > 点这里 <
操作系统库
#操作管理员库
use admin
#鉴权
db.auth("root","admin");
#用户查看(格式美化)
db.system.users.find().pretty();
#新增用户
db.createUser({
user: 'root1',
pwd: 'admin1',
roles: [ { role: "dbOwner", db: "yapi" }]
});
#更新用户信息/密码/权限
db.updateUser("root1",{
pwd: "admin2",
roles:
[{
role: "root",
db: "admin"
},{
role: "userAdminAnyDatabase",
db: "admin"
},{
role: "readWriteAnyDatabase",
db: "admin"
},{
role: "dbAdminAnyDatabase",
db: "admin"
}]})
#删除数据库所属用户
db.dropUser("root1");
操作自定义库
#操作自定义库
use persionalDB
#鉴权
db.auth("user","pwd");
#创建数据库所属用户
db.createUser({
user: 'username1',
pwd: 'password1',
roles: [ { role: "dbOwner", db: "yapi" }]
});
#更新用户信息/密码/权限
db.updateUser("username1",{
pwd: "NEW pass",
roles:
[{
role: "root",
db: "admin"
},{
role: "userAdminAnyDatabase",
db: "admin"
},{
role: "readWriteAnyDatabase",
db: "admin"
},{
role: "dbAdminAnyDatabase",
db: "admin"
}]});
#删除数据库所属用户
db.dropUser("username1");
1.0.0 基础操作 [collection]= 所查集合名
use [db_name];
db.[collection].insert({[title]:'[value]'});
eg:
db.hellocollction.insert({name:'hello'});
# 单个插入
db.inventory.insertOne(
{ item: "canvas",
qty: 100,
tags: ["cotton"],
size: {
h: 28,
w: 35.5,
uom: "cm"
}
}
)
# 批量插入
db.inventory.insertMany([
{ item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } },
{ item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },
{ item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }
])
1.1 >增<
- db.[collection].insertOne()/insertMany()

1.2 >查<
- db.[[collection]].find()

1.3 >改<
- db.[collection].updateOne()/updateMany()/replaceOne()

1.4 >删<
- db.collection.deleteOne()/deleteMany()

2.0 高级: 联表查询 Join
初始数据
db.product.insert({"_id":1,"productname":"商品1","price":15});
db.product.insert({"_id":2,"productname":"商品2","price":36});
db.order.insert({"_id":1,"pid":1,"ordername":"订单1","uid":1});
db.order.insert({"_id":2,"pid":2,"ordername":"订单2","uid":2});
db.order.insert({"_id":3,"pid":2,"ordername":"订单3","uid":2});
db.order.insert({"_id":4,"pid":1,"ordername":"订单4","uid":1});
db.user.insert({"_id":1,"username":1});
db.user.insert({"_id":2,"username":2});
db.product.find();
db.order.find();
db.user.find();
2.1
$lookup两表关联join
db.product.aggregate([
{
$lookup:
{
from: "order",
localField: "_id",
foreignField: "pid",
as: "inventory_docs"
}
}
]);
#结果:
{
"_id" : 1.0,
"productname" : "商品1",
"price" : 15.0,
"inventory_docs" : [
{
"_id" : 1.0,
"pid" : 1.0,
"ordername" : "订单1"
},
{
"_id" : 4.0,
"pid" : 1.0,
"ordername" : "订单4"
}
]
}
lookup 就是使用 aggregate 的 $lookup 属性,$lookup 操作需要一个四个参数的对象:
- localField:在输入文档中的查找字段
- from:需要连接的集合
- foreignField:需要在from集合中查找的字段
- as:输出的字段名字
2.2 $lookup 三表关联join
db.order.aggregate([
{
"lookup": {
"from": "product",
"localField": "pid",
"foreignField": "_id",
"as": "inventory_docs"
}
},{
"lookup": {
"from": "user",
"localField": "uid",
"foreignField": "_id",
"as": "user_docs"
}
}
]);
除了 $lookup,populate 也可以用来进行关联查询
MongoDB v4.0 命令的更多相关文章
- MongoDB 3.0.6 安装 增删改查
下载 安装包MSI http://yunpan.cn/cmhHdTPkXZRM2 访问密码 9b6c 上边提供的是 MongoDB 3.0.6 64Bit 的安装包 安装 如果不想直接安装在C盘.. ...
- MongoDB 3.0 新特性【转】
本文来自:http://www.open-open.com/lib/view/open1427078982824.html#_label3 更多信息见官网: http://docs.mongodb.o ...
- MongoDB 3.0 用户创建
摘要: MongoDB 3.0 安全权限访问控制,在添加用户上面3.0版本和之前的版本有很大的区别,这里就说明下3.0的添加用户的方法. 环境.测试: 在安装MongoDB之后,先关闭auth认证,进 ...
- mongodb与mysql命令对比
mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(col ...
- IIS应用程序池添加ASP.NET v4.0
可能在安装.NET Framewrok 4.0之前,IIS就已经装好了,结果在IIS的应用程序池中只有.NET 2.0的Classic .NET AppPool和DefaultAppPool.在使用v ...
- 在 Ubuntu 14.04/15.04 上配置 Node JS v4.0.0
大家好,Node.JS 4.0 发布了,这个流行的服务器端 JS 平台合并了 Node.js 和 io.js 的代码,4.0 版就是这两个项目结合的产物——现在合并为一个代码库.这次最主要的变化是 N ...
- [译]MongoDB 3.0发布说明
原文来自:http://docs.mongodb.org/manual/release-notes/3.0/ 2015年3月3日 MongoDB 3.0现已可供使用.关键新特性包括支持WiredTig ...
- 生日小助手V4.0——迁移到Python3
生日小助手V4.0——迁移到Python3 生日小助手V4.0只支持Linux系统,依赖命令行软件lunar Ubuntu系统安装方法:1.安装lunarsudo apt-get install lu ...
- MongoDB 3.0安全权限访问控制(Windows版)
MongoDB 3.0安全权限访问控制(Windows版) 1.首先,不使用 –auth 参数,启动 mongoDB: mongod --dbpath "d:\mongodb\data\db ...
随机推荐
- LeetCode 63. 不同路径 II(Unique Paths II)
题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为“Finish”). ...
- 成功解决gyp verb ensuring that file exists: C:\Python27\python.exe gyp ERR! configure error gyp ERR! sta
解决问题 gyp verb ensuring that file exists: C:\Python27\python.exegyp ERR! configure errorgyp ERR! stac ...
- Ubuntu16.04配置vncserver后 导致重复进入登陆界面,无法进入桌面的问题
1.在配置vncserver的时候,可能导致该用户不能正常登录桌面. 2.问题现象:正确输入密码,系统无法进入桌面,闪回到登录界面. 3.在登录界面按ctrl+Alt+F1,进入虚拟控制台(输入r ...
- T89359 扫雷
T89359 扫雷 题解 朴素做法:暴力出奇迹 一维数组按道理不能开到1e7这么大吧,但是我开了井然 A 了 或许是rp问题 #include<iostream> #include< ...
- JS判定数据类型
1.typeof 我们能够使用typeof判断变量的身份,判断字符串得到string,数字和NaN得到number,函数会得到function等,但是判断数组,对象和nu ...
- RN性能优化(重新探索react吧)
最近做RN遇到了一些性能瓶颈,逼着自己不得不做一些优化 已经做过,或者尝试过得优化方案: 1.点击效果防止重复点击. 2.左右两边分别用两个异步栈进行更新,这样能让右边的缓慢不影响左边的更新. 3.I ...
- 关于SVN的405错误Server sent unexpected return value (405 Method Not Allowed)的解决办法
一大早上捣鼓项目提交的时候出现这个错误: svn:server sent unexpected return value 405 method not allowed 百度了很多解决办法都没有解决,看 ...
- asp.netMVC中配置automap
第一.新建类库,以解决方案名XXX为例,建立子类库名为 XXX.AutoMapper. 第二. XXX.AutoMapper类库中,添加对automap的引用. 第三.创建映射文件类 ModelPr ...
- Unity3D入门 UnityAPI常用方法和类
时间函数: 这里只列举了一部分,更多的看Scripting API using System.Collections; using System.Collections.Generic; using ...
- 【AMAD】watchdog -- 用于监控文件系统的事件,并且提供了shell命令行工具
简介 动机 作用 用法 个人评分 简介 用于监控文件系统的事件的Python库,并且提供了shell命令行工具 动机 有很多情况下,我们希望监控文件的变化,在变化之后作出一些响应. 比如flask,d ...