mongodb基础语法
Mongodb与关系型数据库最大的区别就是无约束, 既无字段(外键等)约束, 也没有数据类型约束, 以json存储
安装
启动Mongodb(默认在c盘找 data/db/文件夹)
服务端:
mongod --dbpath "指定数据库目录"
默认端口 27017
客户端:
mongo
常用命令:
show dbs
查看所有存在磁盘上的数据库
show tables
查看当前数据库存在磁盘上的表(collections)
use db
创建(不存在这个名字) 或者 切换数据库
db
当前数据库
db.user(表名)
创建表
增
db.user.insertOne({"name": "Amber"})
db.user.insertMany([{"name": "May"}, {"name": "Ryan"])
删
db.user.deleteOne({"name": "Amber"})
db.user.deleteMany([{"name": "May"}, {"name": "Ryan"])
改
updata 需要结束一下修改器
({"条件"},{"关键字(修改器)":{"修改内容"}})
$set 修改, 没有则添加一个字段
db.user.updataOne({'name': 'Ryan'}, {$set: {'age': 18}})
$unset 删除Field
db.user.updataOne({'name': 'Ryan'}, {$unset: {'age': 1}})
$inc 将查询到的某个结果,加上一个某个值
db.user.updateOne({'name': 'Ryan'}, {$inc: {'age': -10}})
array 修改器
$push 在array(list)尾端添加一个新元素
db.user.updateOne({'name': 'Ryan'}, {$push: {'hobby': '喝酒'}})
$pull 删除某一个元素
db.user.updateOne({'name': 'Ryan'}, {$pull: {'hobby': '做梦'}})
$pop 删除 1是倒数第一个, -1 是正数第一个
db.user.updateOne({'name': 'Ryan'}, {$pull: {'hobby': 1}})
$pushAll
db.user.updateOne({'name': 'Ryan'}, {$pushAll: {'hobby': ['爬山', , '游泳']}})
$ 代指符 $存储符合条件的元素下标(索引)
Array中的Object
"hobby" : [
"喝酒",
{
"name" : "ball",
"price" : 100
},
"爬山",
"游泳"
如果要修改 ball 的价格 200
db.user.updateOne({'hobby.name': 'ball'}, {$set: {'hobby.$.price': 200}})
Object中的Array
{
"info" : {
"id" : 1,
"name" : "Ryan",
"age" : 73,
"hobby" : [
"喝酒",
"爬山"
]
}
}
把喝酒改成游泳
db.user.updataOne({'info.hobby': '喝酒'}, {$set: {'info.hobby.$': '游泳'}})
查
db.user.find({条件})
且
db.user.find({{"id":2,"age":18}})
或
db.user.find({$or: [{'age': {$gt: 18}}, {'name': 'May'}]})
in
db.user.find({'age': {$in: [10, 20, 30]}})
sort, skip, limit:
skip(5) 跳过五条数据
limit(5) 只显示五条数据
sort({age:1}) 升序
sort({age:-1}) 降序
如果三个关键字同时出现,优先级如下
1.sort 2.skip 3.limit
db.user.find().sort({'field': 1 or -1}).skip(n).limit(n)
pymongo
注意:
'_id': ObjectId('5c3eddb16c347e190d0510cc' 是ObjectId类的对象
如果要序列化,也先str(_id),强转字符串在序列化
mongodb基础语法的更多相关文章
- mongodb 基础语法
参考原文:菜鸟教程 目录 一.数据库二.文档三.索引四.聚合 一.数据库 show dbs -- 查看所有数据库 use DATABASE_NAME -- 如果数据库不存在,则创建数据库,否则切换到指 ...
- 2019-10-30:渗透测试,基础学习,mssql堆叠内联注入,mongodb基础语法
使用xp_cmdshell需要堆叠注入,http://192.168.190.148/less-1.asp?id=1';EXEC sp_configure 'show advanced options ...
- MongoDB基础知识 02
MongoDB基础知识 02 6 数据类型 6.1 null : 表示空值或者不存在的字段 {"x":null} 6.2 布尔型 : 布尔类型只有两个值true和false {&q ...
- MongoDB基础知识 01
MongoDB基础知识 1. 文档 文档是MongoDB中的数据的基本单元,类似于关系型数据库管理系统的行. 文档是键值对的一个有序集.通常包含一个或者多个键值对. 例如: {”greeting& ...
- MongoDB 基础(2019年开篇)
MongoDB基础知识: 1.什么是MongoDB NoSQL(NoSQL=Not Only SQL),意即"不仅仅是SQL". MongoDB是一个介于关系数据库和非关系数据库之 ...
- Hive学习笔记:基础语法
Hive基础语法 1.创建表 – 用户表 CREATE [EXTERNAL外部表] TABLE [IF NOT EXISTS 是否存在] HUserInfo ( userid int comment ...
- MongoDB基础教程[菜鸟教程整理]
MongoDB基础教程 ======================================================================================== ...
- 分布式文档存储数据库之MongoDB基础入门
一.MongoDB简介 MongoDB是用c++语言开发的一款易扩展,易伸缩,高性能,开源的,schema free 的基于文档的nosql数据库:所谓nosql是指不仅仅是sql的意思,它拥有部分s ...
- Swift与C#的基础语法比较
背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...
随机推荐
- Splash args 属性
args属性可以获取加载时配置的参数,一般我们只传入URL,如下,args.url 就相当于加载时配置的URL参数,我们把它赋值给 url 变量然后返回:
- Python对文件和文件路径的管理
1. 使用os.path进行路径和文件管理 1.1 拆分路径 os.path.split 返回一个二元组,包含文件路径和文件名 os.path.dirname ...
- 谁在用 Hadoop
谁在用 Hadoop这是个问题.在大数据背景下,Apache Hadoop已经逐渐成为一种标签性,业界对于这一开源分布式技术的了解也在不断加深.但谁才是 Hadoop的最大用户呢?首先想到的当然是它的 ...
- MPAndroidChart market右边显示不全问题
//lineChart.setMarkerView(new CustomChartMarkerView(activity, R.layout.line_chart_maker));//add mark ...
- C++ template —— 模板与继承(八)
16.1 命名模板参数许多模板技术往往让类模板拖着一长串类型参数:不过许多参数都设有合理的缺省值,如: template <typename policy1 = DefaultPolicy1, ...
- JS函数匿名替换
//匿名替换函数 function objFunc() { var obj = new Object(); obj.JsonData = [{ aa: "}], obj.FilterData ...
- C语言内存使用的常见问题及解决之道
一 前言 本文所讨论的“内存”主要指(静态)数据区.堆区和栈区空间(详细的布局和描述参考<Linux虚拟地址空间布局>一文).数据区内存在程序编译时分配,该内存的生存期为程序的整个运行期 ...
- python基础---->python的使用(四)
这里记录一下python关于网络的一些基础知识.不知为何,恰如其分的话总是姗姗来迟,错过最恰当的时机. python中的网络编程 一.socket模板创建一个 TCP 服务器 import socke ...
- Makefile伪目标
https://www.zybuluo.com/lishuhuakai/note/210174 本节我们讨论一个Makefile中的一个重要的特殊目标:伪目标. 伪目标是这样一个目标:它不代表一个真正 ...
- mac下编译 boost编译工具b2
cd boost_1_64_0/tools/build ./bootstrap.sh --with-toolset=gcc 输出: -n Bootstrapping the build engine ...