MongoDB_语法命令
可以通过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_语法命令的更多相关文章
- dockerfile文件语法命令
dockerfile文件语法命令 (1) FROM命令,支持两种形式,构建新镜像使用的基础镜像,所以源镜像必须存在,并且是非注释的第一条命令. DOCKERFILEFORM <image> ...
- MySQL基础语法命令
1. 建表 创建MySQL数据表需要以下信息: 表名 表字段名 定义每个表字段 通用语法: CREATE TABLE table_name (column_name column_type); 实例: ...
- MySQL语法命令之约束篇
文章目录 1.约束概述 1.1约束的分类 1.2添加约束 2.查看表中的约束 3. `not null` 非空约束 3.1 在 `create table` 时创建 3.2 在`alter table ...
- MySQL常用语法命令及函数
#创建数据库# create database 数据库名; #查看数据库# show databases; #选择数据库# use 数据库名; #删除数据库# drop database 数据库名; ...
- linux awk基本语法命令总结
一.基本用法 文本内容准备 2 this is a test 3 Are you like awk This's a test 10 There are orange,apple,mongo 用法一: ...
- 命令行工具aspnet_regiis.exe实现加密和解密web.config
命令行工具aspnet_regiis.exe,是一个类似于DOS的命令工具,称之为命令解释器.使用命令行工具加密和解密web.config文件中的数据库连接字符串时,只需要简单的语法命令即可. 加密语 ...
- MongoDB(五)mongo语法和mysql语法对比学习
我们总是在对比中看到自己的优点和缺点,对于mongodb来说也是一样,对比学习让我们尽快的掌握关于mongodb的基础知识. mongodb与MySQL命令对比 关系型数据库一般是由数据库(datab ...
- WPF的"路径标记语法"
在此之前我们先了解一下WPF的"路径标记语法" M:表示绘制起点 // M 0,0 L:表示绘制直线 (H:横线 V:竖线) // L 100,0 C:三次方贝塞尔曲线 // ...
- 详解WPF Blend工具中的复合路径功能 ( 含路径标记语法 )
写此文章的目的是为了简单分析一下 Blend工具中提供的"复合路径"功能.有人在我的博文中留言问我复合路径的问题. 稍微琢磨一下,觉得应该是对的.因此贴出来和大家分享.有不对的说 ...
随机推荐
- Gym 100342I Travel Agency (Tarjan)
题意读懂了就好做了,就是求一下点双连通分量.维护一下一颗子树的结点数,对于一个结点当u是割点的时候, 统计一下u分割的连通分量v,每得到一个连通分量的结点数cnt(v)和之前连通分量结点数sum相乘一 ...
- libxml2.dylb 导致<libxml/tree.h> 老是找不到头文件
添加了libxml2.dylb的framework ,结果还是引用不了<libxml/tree.h>, 老是提示找不到头文件. 这个问题其实比较容易解决,但是XCode的版本问题确实让开 ...
- 标注偏置问题(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. ...
- RLock(递归锁)
import threading, time def run1(): print("grab the first part data") lock.acquire()#进入大门后的 ...
- CeontOS6.5安装php环境
港湾云主机重装操作系统之后xshell无法连接:重启ssh:# service sshd restart -bash: vim: command not found:输入 rpm -qa|grep v ...
- Jarvis OJ-level3
使用ret2libc攻击方法绕过数据执行保护 from pwn import* conn = remote("pwn2.jarvisoj.com",9879) elf = ELF( ...
- shell脚本,awk数组之如何处理多个文件。
[root@localhost | > file [root@localhost - | > file1 [root@localhost awk]# cat file [root@loca ...
- glassfish配置中数据库密码加密方法
glassfish配置中数据库密码加密方法 Glassfish中的数据库连接池需要使用密文保存数据库密码.如果不是,则可按如下方法可配置 通过Glassfish中的Alias实现,配置方法如下: 1. ...
- 洛谷P1000 超级玛丽游戏
这道题很简单,就是原样输出,只不过写起来有点恶心!!! code: #include<stdio.h> int main() { printf( " ********\n&quo ...
- 【离线做法 树状数组】luoguP1972 [SDOI2009]HH的项链
与bzoj3585: mex的线段树做法有着异曲同工之妙 题目描述 HH 有一串由各种漂亮的贝壳组成的项链.HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含 ...