MongoDB 的命令操作

CodeZenith
• 阅读 1475

MongoDB 系列文章:

在介绍 MongoDB 的具体操作和使用之前,有必要介绍一些 MongoDB 的基本概念,有了这些基础和知识铺垫,后面的操作,才会掌握的更扎实,理解的更透彻。

MongoDB 数据库跟关系数据库不太一样,有三个基本概念:文档,集合和库。分别对应于关系数据库的记录、表和库。库一定有一个磁盘文件来对应。MongoDB 数据库把文档存在集合中。集合中的文档,不需要有相同的结构,每个文档都可以有不同的结构。这使得 MongoDB 比传统的 RDBMS 更灵活,因为你不用预先定义结构。

文档是 MongoDB 的核心概念,文档是操作数据库的最小单元。首先,看看文档长啥样子吧。文档其实就是 JavaScript 中的对象字面量,也就是键值对。正是因为 MongoDB 的文档就是 JavaScript 中的对象字面量,所以,MongoDB 才成为 Node.js 应用开发的首选数据库系统,因为他非常简单和直观,非常容易上手。

下面通过几个文档的例子,来介绍文档的规则:

  • 文档的键/值对是有序的,内容相同,但顺序不同的键/值对是不同的文档;

    {
      "greeting": "hello world", 
      "foo": 3
    }
    {
      "foo": 3, 
      "greeting": "hello world"
    }
  • 文档中的值不仅可以使双引号的字符串,还可以是其他数据类型,例如:整数、null、布尔值、浮点数、二进制数据、数组,代码,等等,甚至可以是嵌入的文档;

    {
      "null": null,
      "boolean": true,
      "integer": 32,
      "string": "hello",
      "float": 3.14,
      "date": new Date(),
      "code": function() { console.log('hello'); },
      "array": [1, 3, 5, 7]
    }
  • 文档的键是字符串,除了极少数情况,键可以使任意 utf-8 字符;
  • 键不能含 0(空字符),这个字符用来表示键的结尾;
  • . 和 $ 有特别的意义,一般情况下不建议使用;
  • 下划线开头的键是保留的,一般情况下不建议使用;
  • 文档中的键/值不但区分类型,还区分大小写;

    {
      "foo": 3
    }
    { 
      "foo": "3" 
    }
    
    { 
      "foo": 3
    }
    { 
      "Foo": 3 
    }
  • 文档中不能用重复的键;

    {
      "greeting": "hello world",
      "greeting": "hello MongoDB"
    }

下面介绍一下基本的 Shell 操作,在 MongoDB 的数据库中完成文档的增、删、改、查四个操作。等你了解这这些命令或者函数,你再尝试在 JavaScript 脚本代码中操作数据库,你会发现这种 API 非常容易上手。

$ mongo

> use todo   # 切换数据库,如果数据库不存在则创建,有则切换
> db         # 查看当前的数据库

> db.todo.insert(data) # 在 todo 集合中插入数据,数据是上面介绍的一个合法的文档

# 例如:
> db.todo.insert({"item": "play football"})

> db.todo.find()       # 返回集合中的所有文档
> db.todo.findOne()    # 返回集合中的一个文档

> db.todo.update(old, new)  # 将旧文档换成新文档

> db.todo.remove(old)       # 删除旧文档

更多的命令用法,请参考文档:MongoDB 基本操作

小结:

其实 Shell 的 API 和 JavaScript 编程的 API 完全相同,增、删、改、查,就是四个单词,insert, remove, update, find。

如果这个文章对你有用,请点赞并收藏!

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Mac下安装mongdb
使用homebrew安装MongoDB:brewinstallmongodb这时MongoDB将被安装在/usr/local/Cellar/mongodb/4.0.3\_1(我的MongoDB版本是4.0.3\_1)3.配置MongoDB:安装完MongoDB后,需要配置一下MongoDB
Wesley13 Wesley13
3年前
NoSQL之MongoDB
1.mongodb介绍2.mongodb安装3.连接mongodb4.mongodb用户管理5.mongodb创建集合、数据管理6.php的mongodb扩展7.php的mongo扩展8.mongodb副本集介绍9.mongodb副本集搭建10.mongodb副本集测试11.mongodb分片介
Wesley13 Wesley13
3年前
MongoDB
一、MongoDB是一款NoSql数据库二、部署单实例MongoDB1.安装环境:(1)系统:Centos7.2(2)MongoDB:Percona的MongoDB3.42.配置yum源percona官方文档【https://www.percona.com/doc/perconarepoconfig/yumrepo.html】
Wesley13 Wesley13
3年前
MongoDB介绍
MongoDB介绍制作人:全心全意MongoDB存储的是json对象(文档型存储)。MongoDB将磁盘格式化为gridfs,在此文件格式上存储数据,存储的数据为二进制的json格式。MongoDB引用了chrome独特的js引擎chromev8,所以MongoDB有能力执行JS。命令介绍
Wesley13 Wesley13
3年前
MongoDB 入门极简教程
安装MongoDBWindowns、Ubuntu17.10下安装MongoDB教程在此(https://my.oschina.net/kangvcar/blog/1559369)MongoDB帮助要想获取命令列表,在mongodb客户端中输入db.help(),将显示如下图
Stella981 Stella981
3年前
PHP特级课视频教程_第三十集 Mongodb安装和使用_李强强
!(http://static.oschina.net/uploads/space/2013/0111/221730_kF0Q_187233.jpg)教程内容:1.nosql数据库的优势2.mongodb数据库的优缺点3.mongodb数据库结构4.mongodb安装与使用5.mongodb的简单操作视频播放地址:
Wesley13 Wesley13
3年前
MongoDB数据更新命令、操作符
一、Mongodb数据更新命令Mongodb更新有两个命令:update、save。1.1update命令update命令格式:db.collection.update(criteria,objNew,upsert,multi)参数说明:criteria:查询条件objNew:update对象和一些更新操作符u
Wesley13 Wesley13
3年前
MongoDB DBA 实践8
在Linux系统中,主要是使用命令行进行mongodb的分片集群部署一、先决条件  mongodb安装成功,明确路径,MongoDB的几个路径:1./var/lib/mongodb2./var/log/mongodb3./etc/mongod.conf4.usr/bin/二、分片部署   
Wesley13 Wesley13
3年前
mongoDB 的介绍
一.常用的网站MongoDB  2009年被发布MongoDB的官网:www.mongodb.org(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.mongodb.org)   可以下载安装包   和 使用文档MongoDB国内官方网
Stella981 Stella981
3年前
Mongodb集群搭建一篇就够了
本文主要介绍mongodb集群的搭建安装过程,对于学习mongodb的同学很有帮助,包括分片模式、复制集模式、是否启用认证等,本文选取mongodb3.6.3版本为例进行详细安装说明,其他版本搭建过程和本过程一样,只需按照本文说明操作即可。1.Mongodb分片集群架构
Wesley13 Wesley13
3年前
MongoDB 常用查询操作
!(https://oscimg.oschina.net/oscnet/up3b29d40cea7fe2de0c98cb9b4a1eae7d091.JPEG)MongoDB查询操作可实现大部分关系型数据库的常用查询操作,本文对MongoDB常用查询进行讲解。在阅读本文前,推荐先阅读《MongoDB安装及文档的基本操作》(http