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 确保得到正确的版 ...
随机推荐
- scrapy框架整理
0.安装scrapy框架 pip install scrapy 注:找不到的库,或者安装部分库报错,去python第三方库中找,很详细 https://www.lfd.uci.edu/~gohlke/ ...
- PAT 1077 Kuchiguse
1077 Kuchiguse (20 分) The Japanese language is notorious for its sentence ending particles. Person ...
- eclipse快捷键大全(转载自CSDN)
Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到上一行(复制增加) Alt+ ...
- request.getRealPath的替代方法
在写上传小练习的时候,发现获得路径的request.getRealPath("")已经被画上线了,也就是不再建议使用. package controller; import jav ...
- Linux防火墙iptables的基础
一.网络访问控制 1.Linux一般都是作为服务器系统使用,对外提供一些基于网络的服务 2.通常我们都需要对服务器进行一些网络访问控制,类似防火墙的功能 3.常见的访问控制包括:哪些IP可以访问服务器 ...
- nodejs -- require , exports , module
1. require , exports . -------------------------- 文件: 1) index.js //两种方式都可以: var forExports = requir ...
- groupmod语法
语法 groupmod [-g <群组识别码> <-o>][-n <新群组名称>][群组名称] 参数: -g <群组识别码> 设置欲使用的群组识别码. ...
- 本地sh脚本创建以及利用ssh server远程运行sh脚本
想要同时运行多个非本地的sh脚本,用来实现运行同一网段下多机程序的集成,可以通过在每台机器上写sh脚本,再在本机上运行一个启动远程机器sh的脚本 首先需要在所有机器上安装openssh-server ...
- Curl追踪请求延时问题
背景原因:测试环境发现一个连接内网访问和外网访问延迟差别很大,内网访问很快.外网访问很慢.于是我们用curl来诊断问题所在的区域! 命令如下: curl -o /dev/null -s -w %{ti ...
- 【oracle入门】数据模型
数据模式也是一这种模型,它是数据库中用于提供信息表示的操作手段的形式架构,是数据库中用来对现实世界惊喜抽象的工具.数据模型按不同的应用层次分为3种类型,分别为概念数据模型.逻辑数据模型.物理数据模型. ...