可以通过MongoDB shell 来连接MongoDB服务:

./mongo   进入交互

数据库--》集合--》文档

几个文档就组成了集合,可以设置固定大小的集合,集合就会有过期机制,按照插入文档的顺序,最早插入的会先过期

MongoDB区分类型和大小写

不同的文档中的键值是不能重复的

在MongoDB中存储数据的格式是BSON格式,类json的一直json的二进制存储

多个文档组成集合,多个集合就组成了数据库,而MongoDB可以拥有多个数据库

MongoDB shell 语法:

> use runoob   若runoob数据库不存在则创建,若存在则转换到该数据库

> show dbs      显示所有的数据库

> db                 显示当前额数据库对象或集合

> db.dropDatabase() 删除当前的数据库

> db.collectionName.drop() 删除集合collectionName

创建与删除集合:

> db.createCollection("ylCollection")  创建一个名字为ylCollection的集合

> show collections  显示当前的数据库下的所有集合

> db.mycoll2.insert({"11":"22"}  也可以不用创建集合,在插入文档的时候,自动的会创建集合

> db.mycoll2.drop()  删除集合

插入文档:

> db.ylCollection.insert({yy:"11",kk:"33",dd:11})

> db.ylCollection.find()

{ "_id" : ObjectId("5bf903ad541157dac013f36d"), "yy" : "11", "kk" : "33", "dd" : 11 }

如果不指定_id 的话,save方法和insert方法是类似的

3.2版本之后可以插入多个文档,insertOne和insertMany方法

更新文档:

{ "_id" : ObjectId("5bf903ad541157dac013f36d"), "yy" : "11", "kk" : "33", "dd" : 11 }

> db.ylCollection.update({yy:"11"},{$set:{yy:22}})

db.collection.update(
<query>, 查询条件
<update>, set语句
{
upsert: <boolean>, 参数可选,不存在时是否插入,默认是false
multi: <boolean>, 参数可选,是否找到多条都更新,默认fasle
writeConcern: <document> 参数可选,抛出异常级别
}
) > db.ylCollection.save({_id:ObjectId("5bf903ad541157dac013f36d"),yy:33})
这样会将这个id下的文档所有的都给替换掉了
> db.ylCollection.find().pretty()
{ "_id" : ObjectId("5bf903ad541157dac013f36d"), "yy" : 33 } 删除文档:
>db.ylCollection.deleteMany({yy:33}) 查询文档:
> db.ylCollection.find() 查找到当前的数据库下的ylCollection集合中的所有文档
可以条件查询
大于 $gt
小于 $lt
大于等于 $gte
小于等于 $lte
等于 $eq
不等于 $ne
模糊查询: /123/ 包含123 /^123/查询以123开头 /123$/查询以123结尾,这种模糊查询的语法有点类似于正则表达式。
可以选择结果中只返回某些键值。
可以查询值为某种类型的那些文档,例如db.ylCollection.find({"112":{$type:"string"}}) 查询键为112,而值类型为字符串的文档 limit() 和skip() 方法:
db.collection.find().limit(2) 只显示两条数据,db.collectionName.find().skip(2) 返回的数据中,跳过前两条数据
sort() 排序
db.collection.find().sort({key1:1}) 返回的结果按key1进行升序排列,其中参数1为升序,-1为降序 mongodb索引
createIndex()方法创建索引。



MongoDB_语法命令的更多相关文章

  1. dockerfile文件语法命令

    dockerfile文件语法命令 (1) FROM命令,支持两种形式,构建新镜像使用的基础镜像,所以源镜像必须存在,并且是非注释的第一条命令. DOCKERFILEFORM <image> ...

  2. MySQL基础语法命令

    1. 建表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 通用语法: CREATE TABLE table_name (column_name column_type); 实例: ...

  3. MySQL语法命令之约束篇

    文章目录 1.约束概述 1.1约束的分类 1.2添加约束 2.查看表中的约束 3. `not null` 非空约束 3.1 在 `create table` 时创建 3.2 在`alter table ...

  4. MySQL常用语法命令及函数

    #创建数据库# create database 数据库名; #查看数据库# show databases; #选择数据库# use 数据库名; #删除数据库# drop database 数据库名; ...

  5. linux awk基本语法命令总结

    一.基本用法 文本内容准备 2 this is a test 3 Are you like awk This's a test 10 There are orange,apple,mongo 用法一: ...

  6. 命令行工具aspnet_regiis.exe实现加密和解密web.config

    命令行工具aspnet_regiis.exe,是一个类似于DOS的命令工具,称之为命令解释器.使用命令行工具加密和解密web.config文件中的数据库连接字符串时,只需要简单的语法命令即可. 加密语 ...

  7. MongoDB(五)mongo语法和mysql语法对比学习

    我们总是在对比中看到自己的优点和缺点,对于mongodb来说也是一样,对比学习让我们尽快的掌握关于mongodb的基础知识. mongodb与MySQL命令对比 关系型数据库一般是由数据库(datab ...

  8. WPF的"路径标记语法"

    在此之前我们先了解一下WPF的"路径标记语法" M:表示绘制起点 // M 0,0 L:表示绘制直线 (H:横线 V:竖线)  // L 100,0 C:三次方贝塞尔曲线   // ...

  9. 详解WPF Blend工具中的复合路径功能 ( 含路径标记语法 )

    写此文章的目的是为了简单分析一下 Blend工具中提供的"复合路径"功能.有人在我的博文中留言问我复合路径的问题.  稍微琢磨一下,觉得应该是对的.因此贴出来和大家分享.有不对的说 ...

随机推荐

  1. 【工具篇】在.Net中实现HTML生成图片或PDF的几种方式

    前段时间由于项目上的需求,要在.Net平台下实现把HTML内容生成图片或PDF文件的功能,特意在网上研究了几种方案,这里记录一下以备日后再次使用.当时想着找一种开发部署都比较清爽并且运行稳定的方案,但 ...

  2. ThinkPHP5.0-多语言切换

    这两天做得项目中需要多语言切换,于是乎就看了看文档,感觉有些乱,就使用了终极必杀--百度. 借鉴了网上各位大佬所集成.整理出一篇比较适合类似我这种比较菜的随笔吧. 请各位大佬轻虐.感谢. 首先,不说其 ...

  3. iOS开发遇到的坑之一: 开发遇见如下错误:Undefined symbols for architecture arm64

    博客处女作,写得不好望谅解! “for architecture arm64”就是说没有支持arm64,在Build settings里architecture相关的几项需要配置正确 在最近升级coc ...

  4. ios xmpp demo

    为了方便程序调用,我们把XMPP的一些主要方法写在AppDelegate中 在AppDelegate.m下这几个方法为: [java] view plaincopy -(void)setupStrea ...

  5. LeetCode 最大子序和

    给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 ...

  6. mysqldump导出备份数据库报Table ‘performance_schema.session_variables‘ doesn‘t exist

    今天在bash进行本地数据库往云端数据库导数据的时候,在本地导出.sql文件这第一步就出现了错误问题,导出sql文件的命令: mysqldump -u 用户名 -p 数据库名 > xxx.sql ...

  7. 异步FIFO最小深度计算

    计算FIFO深度是设计FIFO中常遇到的问题.常识告诉我们,当读速率慢于写速率时,FIFO便可被用作系统中的缓冲元件或队列.因此FIFO的大小基本上暗示了所需缓存数据的容量,该容量取决于读写数据的速率 ...

  8. 《linux设备驱动开发详解》笔记——6字符设备驱动

    6.1 字符设备驱动结构 先看看字符设备驱动的架构: 6.1.1 cdev cdev结构体是字符设备的核心数据结构,用于描述一个字符设备,cdev定义如下: #include <linux/cd ...

  9. POJ-3106 Flip and Turn (模拟)

    [题目大意] 给你一个n*m的矩阵,然后给你一系列操作,最后让你输出操作后的矩阵. 操作包括: 1:沿主对角线反转 2:沿副对角线反转 H:上下翻转 V:水平翻转 A B C:顺时针90° 180° ...

  10. centos7 安装nodejs 最新版

    笔者在安装时,node为11.0.0版本.这里以11版本为例,以后更新,安装步骤时一致的. 下载node安装包到指定目录 wget https://npm.taobao.org/mirrors/nod ...