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. 201521123009 《Java程序设计》第1周学习总结

    1. 本周学习总结 对Java进行了了解与简单的学习.第一次接触Java觉得比较难理解. 希望之后的深入学习可以解决目前的一些问题. 2. 书面作业 为什么java程序可以跨平台运行?执行java程序 ...

  2. JS中的DOM对象及JS对document对像的操作

    DOM对象 windows:属性:opener(打开者) 方法:open().close(),setTimeout().setInterval()... location:属性:href 方法:rel ...

  3. Spring Boot Maven Plugin(一):repackage目标

    简介 Spring Boot Maven Plugin插件提供spring boot在maven中的支持.允许你打包可运行的jar包或war包. 插件提供了几个maven目标和Spring Boot ...

  4. bookStore案例第一篇【部署开发环境、解决分类模块】

    前言 巩固Servlet+JSP开发模式,做一个比较完整的小项目 成果图 该项目包含了两个部分,前台和后台. 前台用于显示 后台用于管理 该项目可分为5个模块来组成:分类模块,用户模块,图书模块,购买 ...

  5. mybatis-basedao的实现

    package com.yangwei.shop.dao; import java.util.HashMap; import java.util.List; import java.util.Map; ...

  6. Eclipse Oxygen 解决 自动导包的问题

    换成了 Eclipse 的Oxygen 版本 , 发现之前好用的自动导包功能不能用了 (Ctrl+Shift+O) 再 网上看资料  上面说 将  In Windows 替换为Editing Java ...

  7. 探索Java NIO

    什么是NIO? java.nio全称java non-blocking IO,是指jdk1.4 及以上版本里提供的新api(New IO),NIO提供了与标准IO不同的IO工作方式. 核心部分: Ch ...

  8. Django 1.10中文文档-执行查询

    Django 1.10中文文档: https://github.com/jhao104/django-chinese-doc 只要创建好 数据模型, Django 会自动为生成一套数据库抽象的API, ...

  9. VBA /VB/VB中合成分散数据方法

    公司用于项目号的合成,怕忘记,特此放上这里.若能帮助其它道友,善莫大焉. 比如:001,004,006,007,008,009,010 结果可以输出:001,004,006-010 逻辑:1.获得数据 ...

  10. iOS如何提高页面流畅度

    A.提高CPU性能 对象创建1.尽量用轻量的对象代替重量的对象,比如CALayer 比 UIView 要轻量许多,如果不考虑交互事件的话,可以选择CALayer.2.Storyboard和xib加载对 ...