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 确保得到正确的版 ...
随机推荐
- flask项目部署
1.安装 安装ssh 新版本安装位 apt/apt-get 老版本为 apt-get 安装以后 ifconfig查看当前的ip地址 如果网络不在同一个ip段 将网络模式设置为桥接 安装pip3 sud ...
- 946. Validate Stack Sequences验证栈序列
网址:https://leetcode.com/problems/validate-stack-sequences/ 参考:https://leetcode.com/problems/validate ...
- emacs初步学习
一.安装扩展 安装web-mode.el扩展,本来试试打算试试格式化freemarker,另外一篇吐槽了freemarker,不用了. 这个emacs也花了点时间,稍微整理一下. 1.确定.emacs ...
- VUE + vue-cli + webpack 创建新项目
首先记录一下命令. 这是一个睿智新手的笔记. p.s.这是配置好环境以后的命令. ----------------------------------------------- $ npm insta ...
- 为什么会出现container、injection技术?发展历史及未来发展趋势
container 原因: 随着软件开发的发展,相比于早期的集中式应用部署方式,现在的应用基本都是采用分布式的部署方式,一个应用可能包含多种服务或多个模块,因此多种服务可能部署在多种环境中,如虚拟服务 ...
- 使用VBA,优化处理Excel表格
前言 上周末,XX给我抱怨:因为计算绩效奖金,把2个人的工资发错了,还被扣了500元.问的缘由得知,她每个月要处理十来个excel表格,每次都要手动修改里面的值,如果修改了一处,其他地方也要修改,然后 ...
- 创建学生类 有姓名 学校 和年龄 覆盖toString() 1放到集合ArrayList 然后 2在第2个位置插入1个学生信息 3判断 刘德华这个学生是否存在 存在就打出来, 4输出全部学生信息 直接打印对象
学生类 package com.lanxi.demo1; public class Student { //创建属性 姓名,学校,年龄 private String name; private Str ...
- 周强201771010141《面向对象程序设计Java》第八周学习总结
一.理论知识学习部分 Java为了克服单继承的缺点,Java使用了接口,一个类可以实现一个或多个接口. 接口体中包含常量定义和方法定义,接口中只进行方法的声明,不提供方法的实现. 类似建立类的继承关系 ...
- C# 读写欧姆龙(Omron)PLC ,C#使用Fins-tcp协议读写数据
本文将使用一个gitHub开源的组件技术来读写西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 ...
- ubuntu 16 阿里云 vsftpd
1.安装 apt-get install vsftpd 2.配置 conf vim /etc/vsftpd.conf --禁止匿名用户sed -i "s/anonymous_enable=Y ...