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 确保得到正确的版 ...
随机推荐
- django中的中间件
中间件介绍 什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于在全局范围内改变Django的输入和输出.每个中间件组件都负责 ...
- Linux获取so/ko文件版本号教程
一.需要获取版本号的原因 从使用角度而言,有时只有特定版本的库才支持某些功能,所以我们需要确定库文件版本号. 从安全加固角度而言,有些版本存在漏洞有些版本不存在漏洞,所以我们需要获取版本号以确定当前使 ...
- MySQL 排名、分组后组内排名、取各组的前几名 及排名后更新插入数据表中
一.排名 /*普通排名:从1开始,顺序往下排*/ AS rank ) r ORDER BY score; /*并列排名:相同的值是相同的排名*/ SELECT cs.* , CASE WHEN @p= ...
- Flutter(一)安装配置和几个注意点
Flutter(一)安装配置和几个注意点 记住要仰望星空,不要低头看脚下.无论生活如何艰难,请保持一颗好奇心.你总会找到自己的路和属于你的成功. 愿您的来世灵魂依旧,躯体康健. 一句话来形容Flutt ...
- python笔记9-字符串操作
1.定义字符串 字符串有下标从0开始,用[]可以来取下标 2.字符串读取 字符串可以使用循环for,每次取一个取出,循环对象的每个元素 3.字符串修改-字符串不可修改 字符串是不可变变量,一旦定义就不 ...
- Core 配置文件Json
appsettings.json 文件属性 -复制到输出目录-始终复制.
- [Mac]secureCRT私钥转换为mac ssh私钥
工作环境从win迁移到mac后,win上原来用secureCRT生成的key,在mac的iterm2中不能兼容使用,导致无法再mac下登录.报错如下: key_load_public:invalid ...
- django之Session、Cookie
Session ·Session存在于服务器端 ·Session的设置: request.session['name'] = value ·Session的获取: dic = request.sess ...
- MySQL常用内置函数
本篇博客源自以下博客地址: http://www.mamicode.com/info-detail-250393.html
- ipv4-only网络环境下访问ipv6站点
使用6plat.org+openVPN(无需资金投入)进入ipv6网络 这里我们主要使用的是6plat.org提供的“46模块——IPv4到IPv6”功能,需要配合openVPN这个软件,支持wind ...