MongoDB基本命令行操作
1. 连接MongoDB:
Mongodb://username:password@hostname/dbname
2. 创建数据库:
use dbname:如果数据库不存在则创建数据库,否则切换到指定数据库。
3. 查看所有数据库:
show dbs
注:
该命令不会显示新创建的空数据库,若想显示需要向空数据库插入一些数据。
MongoDB中默认的数据库为test,若果没有创建新的数据库,集合将存放于test中。
4. 查看当前数据库名:
db
5. 删除数据库:
db.dropDatabase():删除当前数据库。
6. 插入文档:
使用use命令选择指定数据库然后再执行插入操作:
db.collection_name.insert(document):向数据库某集合插入文档,若该集合不在
该数据库中则MongoDB会自动创建该集合并插入文档。
使用示例:
>db.col.insert({title: 'MongoDB命令行操作',
description: '使用Shell命令行操作MongoDB',
by: '吴俊填',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
(也可以将文档定义为一个变量然后再插入该变量)
7. 查看已插入文档:
使用use命令选择指定数据库然后再执行查询操作:
db.collection_name.find():以非结构化方式显示文档
db.collection_name.find().pretty():以结构化方式显示文档
db.collection_name.findOne():只返回一个文档(以结构化方式显示)
条件查询示例:
db.collection_name.find({‘name’:’wujuntian’})
db.col.find({"likes":{$ne:50}}).pretty() //不等于
db.col.find({$or:[{"by":"吴俊填"},{"title": "MongoDB命令操作"}]}).pretty() //或
db.col.find({"likes": {$gt:50}, $or: [{"by": "吴俊填"},{"title": "MongoDB命令操作"}]}).pretty()
db.col.find({likes : {$lt :200, $gt : 100}})
查询/过滤特定字段示例:
db.col.find({‘name’:’wujuntian’},{‘title’:1}) //查询title字段
db.col.find({‘name’:’wujuntian’},{‘title’:0}) //过滤title字段
8. 更新文档:
(1)update()方法:用于更新已存在的文档。
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
参数说明:
query : update的查询条件,类似sql update查询内where后面的内容。
update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的内容。
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入新记录,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。
使用示例:
>db.col.update({'title':'MongoDB'},{$set:{'title':'MongoDB命令操作'}},{multi:true})
(2)save方法:通过传入的文档来替换已有文档。
db.collection.save(
<document>,
{
writeConcern: <document>
}
)
参数说明:
document : 文档数据。
writeConcern :可选,抛出异常的级别。
示例:
>db.col.save({
"_id" : ObjectId("56064f89ade2f21f36b03136"), //替换此_id指定的文档
"title" : "MongoDB",
"description" : "MongoDB 是一个 Nosql 数据库",
"tags" : [
"mongodb",
"NoSQL"
],
"likes" : 110
})
注:
如果不指定_id,save()方法类似于inser()方法。
9. 删除文档:
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
参数说明:
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档。
writeConcern :(可选)抛出异常的级别。
示例:
>db.col.remove({'title':'MongoDB'})
>db.col.remove() //删除所有数据
10. MongoDB $type操作符
$type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果。
示例:db.col.find({"title" : {$type : 2}})
(获取“col”集合中title为String数据类型的数据)
11. limit():读取指定数量的数据记录。
db.COLLECTION_NAME.find().limit(NUMBER)
使用示例:
db.col.find({},{"title":1,_id:0}).limit(2)
12. skip():跳过指定数量的数据记录。
db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)
使用示例:
db.col.find({},{"title":1,_id:0}).limit(1).skip(1)
13. sort():对数据记录进行排序。
sort()可以通过参数指定排序的字段,并使用1 和-1 来指定排序的方式,其中1 为升序排列,而-1是用于降序排列。如果没有指定排序方式,默认按照文档的升序排列。
db.COLLECTION_NAME.find().sort({KEY:1})
使用示例:
db.col.find({},{"title":1,_id:0}).sort({"likes":-1})
14. ensureIndex():创建索引。
db.COLLECTION_NAME.ensureIndex({KEY:1}) (1表示按升序创建索引,-1表示降序)
示例:
db.col.ensureIndex({"title":1,"description":-1})
注:
MongoDB中的索引是存储在B树结构中的。
15. aggregate():聚合。
db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)
示例:
db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])
类似于select by_user, count(*) from mycol group by by_user
MongoDB基本命令行操作的更多相关文章
- Git基本命令行操作 (转)
Git远程操作详解 作者: 阮一峰 Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和 ...
- HDFS基本命令行操作及上传文件的简单API
一.HDFS基本命令行操作: 1.HDFS集群修改SecondaryNameNode位置到hd09-2 (1)修改hdfs-site.xml <configuration> //配置元数据 ...
- MongoDB命令行操作
本文专门介绍MongoDB的命令行操作.其实,这些操作在MongoDB官网提供的Quick Reference上都有,但是英文的,为了方便,这里将其稍微整理下,方便查阅. 这里用来做测试的是远端(10 ...
- Nginx 入门及基本命令行操作
Nginx 介绍 Nginx 是一个高性能的 Web 服务器,从 2001 年发展至今,由于 Nginx 对硬件和操作系统内核特性的深度挖掘,使得在保持高并发的同时还能够保持高吞吐量.Nginx 还采 ...
- Git 基本命令行操作
一.本地仓库操作 1.初始化 git init 2.添加版本控制文件 git add README.md3.本地提交 git commit -m “1st commit”4.配置远程 ...
- mysql的基本命令行操作
mysql>CREATE DATABASE imooc; //创建数据库 mysql> USE imooc ;//选择数据库 mysql> SELECT DATABASE();//查 ...
- Git基本命令行操作
A. 新建Git仓库,创建新文件夹git init B. 添加文件到git索引git add <filename> --- 单个文件添加git add * --- 全部文件添加 C. ...
- 基本命令行操作1(java编译)
1. 设置环境变量,具体:https://www.cnblogs.com/shinge/p/5500002.html "cd + 文件名" 可进入指定文件,"cd..&q ...
- 【翻译】MongoDB指南/CRUD操作(二)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...
随机推荐
- Ningx集群环境搭建
Ningx集群环境搭建 Nginx是什么? Nginx ("engine x") 是⼀个⾼性能的 HTTP 和 反向代理 服务器,也是⼀个 IMAP/ POP3/SMTP 代理服务 ...
- 来自projecteuler.net网站的练习题1
0.题目如下: By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prim ...
- SQLServer总结
基础 nvarchar 和 varchar等的区别 1.nvarchar多了一个N,n表示使用的unicode编码,不用N开头的是用的utf-8编码. 2.所以中文在varchar中占两个字符长度,在 ...
- linux/Windows系统如何安装PHP-openssl扩展
今天倒腾了半天公司的OA办公系统,原来现在很多的smtp服务器是需要ssl方式加密的,而支持ssl需要php加载openssl扩展.所以本文我们将和大家一起分享如何在linux/Windows系统下安 ...
- Postman高级应用——流程控制、调试、公共函数、外部数据文件
postman客户端下载地址:https://www.getpostman.com/apps 目录 流程控制 调试 公共函数 外部数据文件 流程控制 流程控制简言之就是设置接口的执行顺序,流程控制只有 ...
- Spring 学习——基于Spring WebSocket 和STOMP实现简单的聊天功能
本篇主要讲解如何使用Spring websocket 和STOMP搭建一个简单的聊天功能项目,里面使用到的技术,如websocket和STOMP等会简单介绍,不会太深,如果对相关介绍不是很了解的,请自 ...
- Linux学习——shell编程之环境变量配置文件
小白学习,在学习中总结! shell编程之环境变量配置文件 一:环境变量配置文件 1 shell编程之环境变量配置 变量类型: 用户自定义变量(本地变量) 环境变量 :定义每个用户的操作环境,如pat ...
- 基于maven创建和部署Webx项目
1.准备工作 下载 Webx Maven 项目的目录结构Artifact插件. archetype-webx-quickstart-1.0.tar.gz插件:http://central.maven. ...
- Array Partition I
Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1 ...
- ch4-计算属性(表达式计算 computed methods watchers)
1 计算属性 1.1 模板内的表达式是非常便利的,但是它们实际上只用于简单的运算. 在模板中放入太多的逻辑会让模板过重且难以维护. <div id="test1"> { ...