mongodb 安装使用备记
# 1.1 安装
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org # 1.2 启停
sudo service mongod start
sudo service mongod stop
sudo service mongod restart # 1.3 卸载
sudo apt-get purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb # 1.4 链接
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
mongodb://localhost,localhost:27018,localhost:27019
# 2.1 数据库操作
mongo # 进入shell
use jkTest;
db.createCollection('users');
show dbs; # 发现已经创建myTest数据库
db.help();
db.users.help();
db.users.find().help();
db.dropDatabase(); # 删除数据库 # 2.2 用户操作
db.addUser("user_00");
db.addUser("user_00", "test123", true); 添加用户、设置密码、是否只读
db.removeUser("user_00"); #删除用户
show users; # 查看用户情况 # 3.1 增
db.users.insertOne({userName: 'jkmiao', age: , sex: true}); # insertMany() , save before 3.2 version db.inventory.insertMany([
{ item: "journal", qty: , tags: ["blank", "red"], size: { h: , w: , uom: "cm" } },
{ item: "mat", qty: , tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },
{ item: "mousepad", qty: , tags: ["gel", "blue"], size: { h: , w: 22.85, uom: "cm" } }
]) # 3.2 删
db.users.remove({age: }, {justOne: }); # remove all
db.books.update( { _id: }, { $unset: { tags: } } ) # remove some field # 3.3 改 db.collection.update(
<query>,
<update>,
{
upsert: <boolean>, # 找不到就新插入, 默认false
multi: <boolean>, # 遍历所有进行更新,默认false
writeConcern: <document>, #
collation: <document> # dict, 校对, 抛出异常的级别
}
) # ============================ # origin:
{
_id: ,
item: "TBD",
stock: ,
info: { publisher: "", pages: },
tags: [ "technology", "computer" ],
ratings: [ { by: "ijk", rating: }, { by: "lmn", rating: } ],
reorder: false
}
# update
db.books.update(
{ _id: },
{
$inc: { stock: },
$set: {
item: "ABC123",
"info.publisher": "",
tags: [ "software" ],
"ratings.1": { by: "xyz", rating: }
}
},
{
upsert: true
}
)
# after
{
"_id" : ,
"item" : "ABC123",
"stock" : ,
"info" : { "publisher" : "", "pages" : },
"tags" : [ "software" ],
"ratings" : [ { "by" : "ijk", "rating" : }, { "by" : "xyz", "rating" : } ],
"reorder" : false
} # 3.4 查
db.users.find({age: {$lte: }}, {age: }).forEach(printjson); # 只显示age列
db.users.find({age: {$lte: }}, {age: false, '_id':false}).forEach(printjson); # 排除age列 db.collection.find( { a: , b: { $in: [ , , ] } } ).count()
db.collection.find( { a: { $gt: }, b: } ).count()
db.collection.find( { a: , b: , c: } ) db.users.find({ 'age':{$lte:}, $or: [{name:'user_11'}, {name: 'user_15'}]}).sort({age:}); # 按条件查数量
db.collection.aggregate(
[
{ $match: <query condition> },
{ $group: { _id: null, count: { $sum: } } }
]
)
# 3.5 高阶使用 # 聚合查询 # origin: { _id: , cust_id: "abc1", ord_date: ISODate("2012-11-02T17:04:11.102Z"), status: "A", amount: }
{ _id: , cust_id: "xyz1", ord_date: ISODate("2013-10-01T17:04:11.102Z"), status: "A", amount: }
{ _id: , cust_id: "xyz1", ord_date: ISODate("2013-10-12T17:04:11.102Z"), status: "D", amount: }
{ _id: , cust_id: "xyz1", ord_date: ISODate("2013-10-11T17:04:11.102Z"), status: "D", amount: }
{ _id: , cust_id: "abc1", ord_date: ISODate("2013-11-12T17:04:11.102Z"), status: "A", amount: } # aggregate: group by and sum db.orders.aggregate([
{ $match: { status: "A" } },
{ $group: { _id: "$cust_id", total: { $sum: "$amount" } } },
{ $sort: { total: - } }
]) # after: { "_id" : "xyz1", "total" : }
{ "_id" : "abc1", "total" : } # 查询修改删除
db.users.findAndModify({
query: {age: {$gte: }},
sort: {age: -},
update: {$set: {name: 'a2'}, $inc: {age: }},
remove: true
});
db.runCommand({ findandmodify : "users",
query: {age: {$gte: }},
sort: {age: -},
update: {$set: {name: 'a2'}, $inc: {age: }},
remove: true
}); # bulkWrite
db.collection.bulkWrite(
[
{ insertOne : <document> },
{ updateOne : <document> },
{ updateMany : <document> },
{ replaceOne : <document> },
{ deleteOne : <document> },
{ deleteMany : <document> }
],
{ ordered : false }
)
# 语句块
for(var i = ; i < ; i++){db.users.save({name: "user_" + i, age: + i, sex: i % })};
mongodb 安装使用备记的更多相关文章
- MongoDB 安装、运行、使用、数据恢复
1.安装MongoDB社区版 # . 导入MongoDB public GPG Key sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com ...
- PCB MongoDb安装与Windows服务安装
工程MI流程指示做成Web网页形式,采用MVC框架制作,数据传输用Web API方式, 最终此网页会挂到公司各系统中访问,为了提高访问并发量,并将工程数据统一结构化管理, 采用No SQL Mongo ...
- MongoDB和Java(1):Linux下的MongoDB安装
最近花了一些时间学习了下MongoDB数据库,感觉还是比较全面系统的,涉及了软件安装.客户端操作.安全认证.副本集和分布式集群搭建,以及使用Spring Data连接MongoDB进行数据操作,收获很 ...
- mongodb安装&简单使用
转自Mac下使用brew安装mongodb,按着步骤已成功安装. brew常用命令 1.更新brew本身 brew update 2.使用brew安装软件 1 brew install soft_na ...
- win7 64位下 mongodb安装及命令运行
有网友老催我把框架加上mongodb的支持,于是偶尔抽空看了看相关的文章. 今天有缘,就把mongodb安装了一下,中间遇到了小小的问题,So,把整个过程记录一下: 1:先上官网:http://www ...
- MongoDB配置服务--MongoDB安装成为windows服务
MongoDB安装成为windows服务 1.打开命令提示符(最好以管理员的身份打开),然后输入: mongod --logpath "D:\MongoDB\data\log\logs.tx ...
- [MongoDB]安装MongoDB
汇总: 1. [MongoDB]安装MongoDB2. [MongoDB]Mongo基本使用:3. [MongoDB]MongoDB的优缺点及与关系型数据库的比较4. [MongoDB]MongoDB ...
- MongoDB学习:(一)MongoDB安装
MongoDB学习:(一)MongoDB安装 MongoDB介绍: 直接百科了: MongoDB安装: 1:下载安装: MongoDB安装:https://www.mongodb.com/do ...
- MongoDB 安装(Window/Linux)
MongoDB安装在Windows上 在 Windows上,首先要安装 MongoDB下载最新发布的MongoDB: http://www.mongodb.org/downloads 确保得到正确的版 ...
随机推荐
- Servlet中的过滤器Filter
链web.xml中元素执行的顺序listener->filter->struts拦截器->servlet. 1.过滤器的概念 Java中的Filter 并不是一个标准的Servlet ...
- 使用Python-Libvirt GUI 实现KVM 虚拟机 界面化管理
一.KVM环境的搭建 1.安装VMware(略) 2.在VMware中安装Linux系统(略,Ubuntu16.04) 打开支持虚拟化 网络选择桥接模式 3.安装qemu apt-get instal ...
- C++ 多目录多文件编译 技巧
http://www.cplusplus.com/forum/articles/10627/ 1.hpp文件 hpp文件可以使用template函数和class静态函数(不含静态成员) a)不可包含全 ...
- vuejs的双向绑定实现原理
Vue在初始化的时候,会有两个大步骤: 1.Compile 从root的节点开始编译,根据正则表达式,把特殊的v-*类的标签,全部转换成对应的内存中的object 2.Observe 全部的data, ...
- js 面试知识点
基础 原型 原型链 作用域 闭包 异步 单线程 JS API DOM操作 AJAX 事件绑定 开发环境 版本管理 模块化 打包工具 运行环境 页面渲 ...
- java数学函数Math类中常用的方法
Math类提供了常用的一些数学函数,如:三角函数.对数.指数等.一个数学公式如果想用代码表示,则可以将其拆分然后套用Math类下的方法即可. Math.abs(12.3); ...
- ubuntu svn服务本地搭建使用
安装 sudo apt-get install subversion 创建一个仓库 svnadmin create mysvn 编辑配置文件 /home/exayong/mysvn就是上面创建的目录 ...
- ulimit系统资源的设定
使用ulimit -a 可以查看系统使用的资源 core file size 设定core文件的最大值,单位为区块,如果指定为0,不会产生core文件 data seg size 设定数据段的最大值, ...
- 神州数码广域网PPP封装CHAP认证配置
实验要求:掌握PPP封装协议下的CHAP认证 拓扑如下 R1 enable 进入特权模式 config 进入全局模式 hostname R1 修改名称 interface s0/1 进入端口 ip a ...
- jQuery-3.事件篇---表单事件
jQuery表单事件之blur与focus事件 在之前2.8与2.9节我们学过了表单处理事件focusin事件与focusout事件,同样用于处理表单焦点的事件还有blur与focus事件 它们之间的 ...