前言

去年我还折腾过mongodb,后来用不到也就没碰了,这就导致了我忘的一干二净,不得不感叹,编程这东西只要不用,就会忘没了。现在我想重拾mongodb,来总结一下常用命令,主要就是增删改查。

另外,关于mongodb数据的安装配置,我就不赘述了,推荐我之前写过的两篇博客:

1. Windows下图文详解Mongodb安装及配置

2. Linux环境安装mongodb

接下来,我直奔主题咯~

新建数据库

创建之前,我们看看当前有哪些数据库,使用:

show dbs

接下来创建一个新的数据库:

// 使用这个数据库,没有则会创建
use test // 此时还没有创建成功,只有在其中创建一个集合时,这个新数据库才会创建成功
db.user.insert({"name":"wj","age":}) // 上面命令在test数据库里新建了一个user集合,并插入了数据,此时再执行show dbs ,已经有了test数据库

插入(增加)数据

前面已经提及了,格式如下:

db.集合名.insert({"name":"wj"})

注意在使用这条命令前,要切换到对应数据库,比如:

use test

这样新增的集合就在这个数据库下,可以使用命令:

show collections

来查看当前数据库下有哪些集合

删除

1. 删除当前数据库

 db.dropDatabase()

2. 删除集合

db.集合名.drop()

3. 删除数据

db.集合名.remove(条件)

// 比如要删除user集合下name为wj的数据,则
db.user.remove({"name":"wj"})

修改

修改前要按条件查找的,例如我要把名为小明的同学的年龄修改为3岁,那么命令如下:

db.user.update({"name":"小明"}, {$set:{"age":}})

// 上面命令的格式
db.集合名.update({条件}, {$set:{修改的值}})

注意花括号不要写错,另外加上$set是修改,如果不加的话,就是后面的替换前面的,如:

// 修改前
{ "name":"小明"} // 修改
db.user.update({"name":"小明"},{"age":}) // 修改后
{ "age":}

默认情况下,只会修改满足条件的第一条数据,如果希望修改所有满足条件的数据,加上{multi:true},如:

db.user.update({"sex":"男"}, {$set:{"age":}}, {multi:true})

查找

关于查询的方式就比较多啦。敲命令时,多注意符号的书写。

1. 查询集合下所有数据

db.user.find()  //user是集合名

2. 查询 age == 20 的数据

db.user.find({"age":})

3. 查询 age > 20 的数据 (大于)

db.user.find({"age":{$gt:}})

4. 查询 age < 20 的数据 (小于)

db.user.find({"age":{$lt:}})

5. 查询 age >= 30 的数据 (大于或等于)

db.user.find({"age":{$gte:}})

6. 查询 age <= 30 的数据 (小于或等于)

db.user.find({"age":{$lte:}})

7. 查询 age >= 20 并且 age <= 30 的数据 (且)

db.user.find({"age":{$gte:,$lte:}})

8. 查询 name 中包含 wj 的数据

db.user.find({"name":/wj/})

9. 查询 name 中以 w 开头的数据

db.user.find({"name":/^w/})

10. 查询指定列的数据

// 只查看name列
db.user.find({},{"name":}) // 只查看age列
db.user.find({},{"age":}) // 只查看name和age列
db.user.find({},{"name":,"age":})

11. 查询指定列的数据,带条件(age > 20)

db.user.find({"age":{$gt:}},{"name":,"age":})

12. 排序

// 按照年龄来排序

db.user.find().sort({"age":})  // 升序

db.user.find().sort({"age":-})  // 降序

13. 多条件查询

db.user.find({"name":"wj","age":})

// 应该好理解,查询同时满足这两个条件的数据,前面忘记说了

14. 查询前三条数据

db.user.find().limit()

15. 查询五条之后的数据

db.user.find().skip()

// 好理解,跳过前5条,显示的就是五条之后的数据

16. 查询 5-10 之间的数据

db.user.find().skip().limit()

17. 或 查询

db.user.find({$or:[{"age":},{"age":}]})

18.查询第一条数据

db.user.findOne()

//这样也可以哦
db.user.find().limit()

总结

建议上面每条命令都自己试试,如果不成功,注意符号的书写是否正确,尤其是花括号。当然很可能是我手滑写错了,希望知道的人给我指出哦,谢谢。

mongodb增删改查常用命令总结的更多相关文章

  1. HBase数据库增删改查常用命令操作

    最近测试用到了Hbase数据库,新建一个学生表,对表进行增删改查操作,把常用命令贴出来分享给大家~ 官方API:https://hbase.apache.org/book.html#quickstar ...

  2. Mysql数据库基础增删改查常用语句命令

    Mysql增删改查常用语句命令 一.增删改查语句总览 创建: create(创建数据库) 增:insert(插入表数据) 删:drop.delete(删除表.删除表数据) 改:update.alter ...

  3. 数据库——MongoDB增删改查

    MongoDB增删改查操作 本文包含对数据库.集合以及文档的基本增删改查操作 数据库操作 #1.增 use config #如果数据库不存在,则创建并切换到该数据库,存在则直接切换到指定数据库. #2 ...

  4. MongoDB - 增删改查及聚合操作

    目录 MongoDB - 增删改查及聚合操作 一. 数据库操作(database) 1. 创建及查看库 2. 删除库 二. 集合collectionc=操作(相当于SQL数据库中的表table) 1. ...

  5. MySQL增删改查常用语句命令

    增删改查语句增删改查的语句命令为 增:insert删:delete改:update查:SELECT或者show 库操作创建数据库:create database shujukuba;创建带字符集的数据 ...

  6. MongoDB增删改查表文档

    MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,是一个基于分布式文件存储的开源数据库系统.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关 ...

  7. mongodb增删改查操作

    Note:mongodb存储的是文档,且文档是json格式的对象,所以增删改查都必须是json格式对象. 注:mongodb常用库和表操作,但mongodb在插入数据时,不需要先创建表. show d ...

  8. [MongoDB]增删改查

    摘要 上篇文章学习了mongodb在windows上的安装,以及如何开启mongodb,最后列举了简单的增删改查操作.本篇将继续深入学习一下增删改查. 相关文章 [MongoDB]入门操作 CRUD ...

  9. springMVC操作mongoDB增删改查

    下面是mongoDb简单的增删改查(新闻类) 附:query.addCriteria(Criteria.where("modelId").ne("").ne(n ...

随机推荐

  1. 一种sqlor的拆分

    原脚本declare @Phone nvarchar(50)declare @CompanyNO nvarchar(50)set @Phone='13914124223'set @CompanyNO= ...

  2. HDU 6191 Query on A Tree ( 2017广西邀请赛 && 可持久化Trie )

    题目链接 题意 : 给你一棵树.树上的每个点都有点权.之后有若干次问询.每次问询给出一个节点编号以及一个整数 X .问你以给出节点为根的子树中哪个节点和 X 异或最大.输出这个值 分析 : 看到这种树 ...

  3. confluence -- 命令行备份还原

    备份:confluence每日凌晨2:00都在 /data/atlassian/application-data/confluence/backups/ 下生成备份包,其中包括文档,附件,用户 还原: ...

  4. sqli-labs(41) and 两php函数的讲解

    0X01 构造闭合 发现 不需要闭合 直接构造 id=- union ,database(), 成功 注入 0X02 堆叠注入同道理 一样的 这里我们来了解一下这个函数 mysqli_multi_qu ...

  5. Thrift支持的基本数据类型

    'bool' | 'byte' | 'i8' | 'i16' | 'i32' | 'i64' | 'double' | 'string' | 'binary' | 'slist'(deprecated ...

  6. LeetCode19----删除链表的指定元素

    给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 ...

  7. 【转】HLS视频点播&直播初探

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...

  8. 套接字之sendmsg系统调用

    sendmsg系统调用允许在用户空间构造消息头和控制信息,用此函数可以发送多个数据缓冲区的数据,并支持控制信息:当调用进入内核后,会将用户端的user_msghdr对应拷贝到内核的msghdr中,然后 ...

  9. LeetCode 3. 无重复字符的最长子串(Longest Substring Without Repeating Characters)

    题目描述 给定一个字符串,找出不含有重复字符的最长子串的长度. 示例: 给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3. ...

  10. orcal 根据打分时间计算打分情况

    create or replace function F_GET_TEST(in_ny in date,in_project_id in number ) return number is sRetu ...