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. Python: 列表注意细节与元组的基本用法

    列表注意细节: 1.list.clear():将列表中成员清空(与del list区别开) 2.list.copy():复制一份相同的列表(浅COPY,只复制列表第一层) 3.如果两个列表相等,如li ...

  2. Linux SSH下安装Java并设置环境

    我是用Xshell进行远程连接阿里云服务器的,所以jdk不好下载. 我使用的是Winscp远程软件,在window上下载了jdk然后再上传到Linux服务器上 下面是安装的步骤 1.下载jdk8 登录 ...

  3. 初学者---AngularJS详解

    AngularJS 简介 AngularJs是一个用于设计动态web应用的结构框架.首先,它是一个框架,不是类库,提供一整套方案用于设计web应用.它不仅仅是一个javascript框架,因为它的核心 ...

  4. 关于select的一个错误---属性选择器

    错误: jquery 获取下拉框 text='1'的 option 的value 属性值  我写的var t= $("#selectID option[text='1']).val() ; ...

  5. Mysql的排他锁和共享锁

    今天看代码看到有select name from user where id = 1 for update,有点懵逼,完全没有见过,只能说自己见识少了,那就只能学习一下.先做一下基本知识了解(大部分都 ...

  6. TCO之旅

    TCO之旅 时间限制: 1 Sec  内存限制: 128 MB提交: 77  解决: 24[提交][状态][讨论版] 题目描述 我们的小强终于实现了他TCO的梦想了,爬进了TCO的全球总决赛,开始了他 ...

  7. 记一次Java的内存泄露分析

    当前环境 jdk == 1.8 httpasyncclient == 4.1.3 代码地址 git 地址:https://github.com/jasonGeng88/java-network-pro ...

  8. 张高兴的 Windows 10 IoT 开发笔记:使用 Lightning 中的软件 PWM 驱动 RGB LED

    感觉又帮 Windows 10 IoT 开荒了,所以呢,正儿八经的写篇博客吧.其实大概半年前就想写的,那时候想做个基于 Windows 10 IoT 的小车,但树莓派原生不支持 PWM 啊.百度也搜不 ...

  9. ES中const

      前  言 EScript 上一次总结了,ES中let和var的区别,今天在带大家了解另一个声明关键词:const. const实际上保证的,并不是变量的值不得改动,而是变量指向的那个内存地址不得改 ...

  10. 20.Linux-USB鼠标驱动

    在上一章分析完USB总线驱动程序后, 接下来开始写一个USB驱动: 本节目的: 将USB鼠标的左键当作L按键,将USB鼠标的右键当作S按键,中键当作回车按键 参考/drivers/hid/usbhid ...