可以通过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. Gym 100342I Travel Agency (Tarjan)

    题意读懂了就好做了,就是求一下点双连通分量.维护一下一颗子树的结点数,对于一个结点当u是割点的时候, 统计一下u分割的连通分量v,每得到一个连通分量的结点数cnt(v)和之前连通分量结点数sum相乘一 ...

  2. libxml2.dylb 导致<libxml/tree.h> 老是找不到头文件

    添加了libxml2.dylb的framework ,结果还是引用不了<libxml/tree.h>,  老是提示找不到头文件. 这个问题其实比较容易解决,但是XCode的版本问题确实让开 ...

  3. 标注偏置问题(Label Bias Problem)和HMM、MEMM、CRF模型比较<转>

    转自http://blog.csdn.net/lskyne/article/details/8669301 路径1-1-1-1的概率:0.4*0.45*0.5=0.09 路径2-2-2-2的概率:0. ...

  4. RLock(递归锁)

    import threading, time def run1(): print("grab the first part data") lock.acquire()#进入大门后的 ...

  5. CeontOS6.5安装php环境

    港湾云主机重装操作系统之后xshell无法连接:重启ssh:# service sshd restart -bash: vim: command not found:输入 rpm -qa|grep v ...

  6. Jarvis OJ-level3

    使用ret2libc攻击方法绕过数据执行保护 from pwn import* conn = remote("pwn2.jarvisoj.com",9879) elf = ELF( ...

  7. shell脚本,awk数组之如何处理多个文件。

    [root@localhost | > file [root@localhost - | > file1 [root@localhost awk]# cat file [root@loca ...

  8. glassfish配置中数据库密码加密方法

    glassfish配置中数据库密码加密方法 Glassfish中的数据库连接池需要使用密文保存数据库密码.如果不是,则可按如下方法可配置 通过Glassfish中的Alias实现,配置方法如下: 1. ...

  9. 洛谷P1000 超级玛丽游戏

    这道题很简单,就是原样输出,只不过写起来有点恶心!!! code: #include<stdio.h> int main() { printf( " ********\n&quo ...

  10. 【离线做法 树状数组】luoguP1972 [SDOI2009]HH的项链

    与bzoj3585: mex的线段树做法有着异曲同工之妙 题目描述 HH 有一串由各种漂亮的贝壳组成的项链.HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含 ...