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基本命令行操作的更多相关文章

  1. Git基本命令行操作 (转)

    Git远程操作详解   作者: 阮一峰 Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和 ...

  2. HDFS基本命令行操作及上传文件的简单API

    一.HDFS基本命令行操作: 1.HDFS集群修改SecondaryNameNode位置到hd09-2 (1)修改hdfs-site.xml <configuration> //配置元数据 ...

  3. MongoDB命令行操作

    本文专门介绍MongoDB的命令行操作.其实,这些操作在MongoDB官网提供的Quick Reference上都有,但是英文的,为了方便,这里将其稍微整理下,方便查阅. 这里用来做测试的是远端(10 ...

  4. Nginx 入门及基本命令行操作

    Nginx 介绍 Nginx 是一个高性能的 Web 服务器,从 2001 年发展至今,由于 Nginx 对硬件和操作系统内核特性的深度挖掘,使得在保持高并发的同时还能够保持高吞吐量.Nginx 还采 ...

  5. Git 基本命令行操作

    一.本地仓库操作 1.初始化    git init 2.添加版本控制文件    git add README.md3.本地提交    git commit -m “1st commit”4.配置远程 ...

  6. mysql的基本命令行操作

    mysql>CREATE DATABASE imooc; //创建数据库 mysql> USE imooc ;//选择数据库 mysql> SELECT DATABASE();//查 ...

  7. Git基本命令行操作

    A. 新建Git仓库,创建新文件夹git init  B. 添加文件到git索引git add <filename>  --- 单个文件添加git add * --- 全部文件添加 C. ...

  8. 基本命令行操作1(java编译)

    1. 设置环境变量,具体:https://www.cnblogs.com/shinge/p/5500002.html "cd + 文件名" 可进入指定文件,"cd..&q ...

  9. 【翻译】MongoDB指南/CRUD操作(二)

    [原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...

随机推荐

  1. Q:哪里可以注册hk域名?A:这里!这里!(小白绢挥手)

    注意!前方有一条比你妈手中的竹板还硬的推文出没······ 咳咳,清清喉咙,预备唱! (请自动代入甜蜜蜜的曲调) 甜蜜蜜你笑的甜蜜蜜  好像花儿开在春风里  开在春风里 在哪里在哪里见过你  .HK域 ...

  2. jquery-easyUI第一篇【介绍、入门、使用常用的组件】

    什么是easyUI 我们可以看官方对easyUI的介绍: easyUI就是一个在Jquery的基础上封装了一些组件-.我们在编写页面的时候,就可以直接使用这些组件-非常方便-easyUI多用于在后台的 ...

  3. 为bookStore添加权限【动态代理和注解】

    前言 目前为止,我们已经学习了动态代理技术和注解技术了.于是我们想要为之前的bookStore项目添加权限控制-.. 只有用户有权限的时候,后台管理才可以进行相对应的操作-.. 实现思路 之前我们做权 ...

  4. 如何使用Flexbox和CSS Grid,实现高效布局

    CSS 浮动属性一直是网站上排列元素的主要方法之一,但是当实现复杂布局时,这种方法不总是那么理想.幸运的是,在现代网页设计时代,使用 Flexbox 和 CSS Grid 来对齐元素,变得相对容易起来 ...

  5. Apache POI

    Apache POI 用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能.POI为"Po ...

  6. Pagination(分页) 从前台到后端总结

    一:效果图 下面我先上网页前台和管理端的部分分页效果图,他们用的是一套代码.                                   回到顶部(go to top) 二:上代码前的一些知识 ...

  7. 谈javascript变量声明

    之前的面试中遇到过一道面试题 var a =10;(function(){ console.log(a); var a =20;})() 短短5行代码log的结果是什么? 如果把var a = 20; ...

  8. 小知识点-ios跳过app store更新版本

    版本更新实现的思路 获取自身的版本号 获取AppStore的版本号 自身的版本号和AppStore的比较 弹窗提示所需数据的获取的方式 1.获取自身的版本号 2.AppStore的版本号 Wechat ...

  9. 深入理解计算机系统chapter8

    进程轮流使用处理器 父进程调用fork来创建一个新的子进程 回收子进程 waitpid/wait 非本地跳转:

  10. 《effective Go》读后记录

    一个在线的Go编译器 如果还没来得及安装Go环境,想体验一下Go语言,可以在Go在线编译器 上运行Go程序. 格式化 让所有人都遵循一样的编码风格是一种理想,现在Go语言通过gofmt程序,让机器来处 ...