Mongodb之增删改查

一 Mongodb

首先下载好这个和上一篇文章下载的Mongodb

关于Mongodb的常识

 1          它的默认端口 是27017
 2
 3     show dbs 查看所有存在磁盘上的数据库
 4     show tables 查看当前数据库存在磁盘上的数据表
 5
 6     use 数据库 创建数据库或切换数据库
 7
 8     ######使用了不能存在的对象即创建该对象######
 9
10     数据库.表名 创建表

一些基本命令

二 Mongodb数据的增删改查

#insert

db.user.insert({"id":1,"name":"jwb","age":73})

官方推荐写法
db.user.insertMany([{}])  #增加多条数据
#db.use.insertMany([{‘id‘:4,‘name‘:‘hhh‘,‘age‘:40,{‘id‘:5,‘name‘:‘aaa‘,‘age‘:30}])

db.user.insertOne({})  #增加一条数据
#db.use.insert({‘id‘:3,‘name‘:‘mmm‘,‘age‘:20}

 1 1 更新:update 修改器 $set
 2
 3 #db.user.update({"age":84}, {$set:{"username":"hhh"}})
 4
 5 官方推荐写法:
 6 db.user.updateOne({"name":"jwb"},{$set:{"age":99}})  #更改一条数据
 7 db.user.updateMany({"name":"jwb"},{$set:{"age":99}}) #更改多条数据
 8
 9
10
11
12 2
13 $修改器:
14 $set : 暴力修改
15 $unset : 暴力删除字段 db.user.updateOne({"name":"ywb"},{$unset:{"hobby":1}})    #‘hobby‘:1 中的1是固定的
16
17 $inc : 引用增加 在原有值的基础上增加 db.user.updateMany({name:‘mmm‘},{$inc:{age:1}})
18 #这里的意思是 给名字为mmm的年龄值加1岁
19
20 array修改器:
21 $push 增加元素 :db.user.updateOne({"name":"ywb"},{$push:{"hobby":"jwb"}})
22
23 #注意 :这里$push 出来的是列表
24 {
25     "_id" : ObjectId("5c3efc5405130ee5819c15ce"),
26     "id" : 1,
27     "name" : "jwb",
28     "age" : 3,
29     "hobby" : [
30         "yyong"               #########
31     ]
32 },
33
34 $pull 删除元素 :db.user.updateOne({"name":"ywb"},{$pull:{"hobby":"jwb"}})
35 #注意 这里只删除hobby中的jwb数据  但是不会删除掉hobby字段
36
37 $pushAll 迭代增加 :
38 db.use.updateOne({name:‘jwb‘},{$pushAll:{‘hobby‘:[‘yy‘,‘ps‘,‘lx‘]}})
39
40 #注意 这里迭代增加时  是添加一个列表
41 #{
42     "_id" : ObjectId("5c3efc5405130ee5819c15ce"),
43     "id" : 1,
44     "name" : "jwb",
45     "age" : 3,
46     "hobby" : [
47         "yy",
48         "ps",
49         "lx"
50     ]
51 },
52
53
54 $pop 删除最后一条数据/第一条 :
55 ###注意:
56 最后一条   1的时候代表删除最后一条数据
57 db.user.updateOne({"name":"ywb"},{$pop:{"hobby":1}})
58 #{
59     "_id" : ObjectId("5c3efc5405130ee5819c15ce"),
60     "id" : 1,
61     "name" : "jwb",
62     "age" : 3,
63     "hobby" : [
64         "yy",
65         "ps",
66     ]
67 },
68
69 第一条 -1的时候代表删除第一条数据
70 db.user.updateOne({"name":"ywb"},{$pop:{"hobby":-1}})
71
72 #{
73     "_id" : ObjectId("5c3efc5405130ee5819c15ce"),
74     "id" : 1,
75     "name" : "jwb",
76     "age" : 3,
77     "hobby" : [
78         "ps",
79     ]
80 },
81
82
83 $ 字符:
84 ["hj","tt",1,2] # {"hobby":"hj"} hj 是hobby列表中的第0个元素 就把 0 这个数据放在了 $ 中
85 db.user.updateMany({hobby:"hj"},{$set:{"hobby.$":"喝酒"}})
86 ###### $ 存储符合条件的元素下标索引 ######
87
88 3 关于Object操作
89 db.user.updateOne({"kecheng.name":"python"},{$set:{"kecheng.price":19800}})
90 db.user.updateOne({"kecheng.name":"python"},{$inc:{"kecheng.price":500}})
91
92 Array中的Object
93 db.user.updateOne({"hobby.age":84},{$set:{"hobby.$.age":73}})
94
95 Object中的Array
96 db.user.updateOne({"kecheng.class":15},{$set:{"kecheng.class.$":20}})

 1 查看 find
 2 db.user.find()             #显示所有
 3 db.user.findOne({})   #只显示第一条数据
 4
 5 #结果
 6 { "_id" : ObjectId("5c3efc5405130ee5819c15ce"), "id" : 1, "name" : "jwb", "age" : 73 }
 7 { "_id" : ObjectId("5c3efd9305130ee5819c15cf"), "id" : 1, "name" : "www", "age" : 77 }
 8
 9 #注意ObjectId是唯一的 因此以后不需要id作为标识  有ObjectId就可以区别
10
11 db.user.find({"id":2,"age":85}) 并列条件
12
13 或条件:$or
14 db.user.find({$or:[{age:73},{name:"ywb"}]})
15
16 同一个字段的 或条件
17 $in : db.user.find({age:{$in:[73,84,86]}})
18
19 子集检索
20 db.user.find({what:{$in:[2,1]}})  ??????
21
22 $all : 满足所有条件
23 db.user.find({what:{$all:[2,1,3]}})   ????
24
25
26 数学比较符:
27 $gt : 大于
28 db.user.find({age:{$gt: 73}})
29
30 $gte: 大于等于
31 db.use.find({age:{$gte:73}})
32
33 $lt : 小于
34 db.use.find({age:{$lt:40}})
35
36 $lte: 小于等于
37 db.use.find({age:{$lte:45}})
38
39 $eq : 等于
40 :也是等于

更新:update 修改器 $set
#db.user.update({"age":84}, {$set:{"username":"jinjiaodawangba"}})

官方推荐写法:
db.user.updateOne({"name":"jwb"},{$set:{"age":99}})
db.user.updateMany({"name":"jwb"},{$set:{"age":99}})

三 Mongodb的数据类型

 1 ObjectID :Documents 自生成的 _id
 2 String: 字符串,必须是utf-8
 3 Boolean:布尔值,true 或者false (这里有坑哦~在我们大Python中 True False 首字母大写)
 4 Integer:整数 (Int32 Int64 你们就知道有个Int就行了,一般我们用Int32)
 5 Double:浮点数 (没有float类型,所有小数都是Double)
 6
 7 #注意 无float型
 8
 9 Arrays:数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦)
10 Object:如果你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典
11 Null:空数据类型 , 一个特殊的概念,None Null
12
13 Timestamp:时间戳
14 Date:存储当前日期或时间unix时间格式 (我们一般不用这个Date类型,时间戳可以秒杀一切时间类型)
15
16
17 MongoDB中的跳过选取排序:
18 skip(5) 跳过五条数据
19 limit(5) 只显示五条数据
20 分页 skip(5).limit(5)
21
22 sort({age:1})  正序
23 sort({age:-1}) 倒序
24
25 如果三个关键字同时出现
26 1.sort 2.skip 3.limit

数据类型

四 Mongodb的$

$修改器:
$set : 暴力修改
$unset : 暴力删除字段 db.user.updateOne({"name":"ywb"},{$unset:{"hobby":1}})    #‘hobby‘:1 中的1是固定的

$inc : 引用增加 在原有值的基础上增加 db.user.updateMany({name:‘mmm‘},{$inc:{age:1}})
#这里的意思是 给名字为mmm的年龄值加1岁

array修改器:
$push 增加元素 :db.user.updateOne({"name":"ywb"},{$push:{"hobby":"jwb"}})

#注意 :这里$push 出来的是列表
{
    "_id" : ObjectId("5c3efc5405130ee5819c15ce"),
    "id" : 1,
    "name" : "jwb",
    "age" : 3,
    "hobby" : [
        "yyong"               #########
    ]
},

$pull 删除元素 :db.user.updateOne({"name":"ywb"},{$pull:{"hobby":"jwb"}})
#注意 这里只删除hobby中的jwb数据  但是不会删除掉hobby字段

$pushAll 迭代增加 :
db.use.updateOne({name:‘jwb‘},{$pushAll:{‘hobby‘:[‘yy‘,‘ps‘,‘lx‘]}})

#注意 这里迭代增加时  是添加一个列表
#{
    "_id" : ObjectId("5c3efc5405130ee5819c15ce"),
    "id" : 1,
    "name" : "jwb",
    "age" : 3,
    "hobby" : [
        "yy",
        "ps",
        "lx"
    ]
},

$pop 删除最后一条数据/第一条 :
###注意:
最后一条   1的时候代表删除最后一条数据
db.user.updateOne({"name":"ywb"},{$pop:{"hobby":1}})
#{
    "_id" : ObjectId("5c3efc5405130ee5819c15ce"),
    "id" : 1,
    "name" : "jwb",
    "age" : 3,
    "hobby" : [
        "yy",
        "ps",
    ]
},

第一条 -1的时候代表删除第一条数据
db.user.updateOne({"name":"ywb"},{$pop:{"hobby":-1}})

#{
    "_id" : ObjectId("5c3efc5405130ee5819c15ce"),
    "id" : 1,
    "name" : "jwb",
    "age" : 3,
    "hobby" : [
        "ps",
    ]
},

$ 字符:
["hj","tt",1,2] # {"hobby":"hj"} hj 是hobby列表中的第0个元素 就把 0 这个数据放在了 $ 中
db.user.updateMany({hobby:"hj"},{$set:{"hobby.$":"喝酒"}})
###### $ 存储符合条件的元素下标索引 ######

关于$修饰符

原文地址:https://www.cnblogs.com/mlhz/p/10279656.html

时间: 2024-10-09 15:02:08

Mongodb之增删改查的相关文章

Scala对MongoDB的增删改查操作

=========================================== 原文链接: Scala对MongoDB的增删改查操作 转载请注明出处! =========================================== 依赖环境:jdk1.8.Scala 2.12.idea mongodb Driver:3.1.1.注意,mongo for scala的驱动涉及多个jar(如下图),依赖于mongo-java-driver.jar 这里使用的sbt管理依赖,直接在bu

MongoDB(三)——增删改查

MongoDB作为非关系型数据库,还是传统数据库的增删改查有很大的区别的,这里只是将知识点进行了一下提纲挈领,实际用的时候,我们百度一下详细用法即可.先看大的几个方面: 一,对于里边的插入和删除不再过多赘述,相对来说知识点比较少.先来看一下更新,常用操作还是非常有用的,需要我们根据实际情况灵活运用,这里只是提出了知识点,需要百度出例子来学习使用: 2,查询也是一样,看一下知识点的汇总,其实用几个,还是有规律的,比较容易记录的: 3,看一下固定集合Capped Collection:顾名思义是有着

C# 对MongoDB 进行增删改查的简单操作

C# 对MongoDB 进行增删改查的简单操作 下面演示下C#操作MongoDB驱动的简单的增删改查代码 运用到的MongoDB支持的C#驱动,当前版本为1.6.0 下载地址:https://github.com/mongodb/mongo-csharp-driver/downloads 1,连接数据库 /// <summary> /// 数据库连接 /// </summary> private const string conn = "mongodb://127.0.0

Java连接MongoDB进行增删改查

1.导入必须的包: 详情看项目:http://pan.baidu.com/s/1cvDAOY 2.通过Myeclipse创建WEB项目 3. 3.bean:创建实体类 package com.bean; import java.io.Serializable; import java.util.Date; /** * @since 对应于mongodb中的数据库test中的表com * @author think * */ public class Company implements Seri

MongoDB的增删改查 转

MongoDB的增删改查 (黎明你好原创作品,转载请注明) MongoDB中数据的基本单元叫做文档,采用json的键-值的方式.多个键及其关联的值有序的存放在一起变是文档.类似于编程语言中的键值关系.MongoDB文档都是BSON文档,他是一个JSON的二进制形式. MongoDB的文档 MongoDB中文档被存储在集合中.集合是一组有关系索引的文档.集合类似于关系数据库中的表. MongoDB的集合 2.1 方法参考 查询游标方法 名称 说明 cursor.count() 返回游标中的文档的数

MongoDB之增删改查(一)

本文主要介绍MongoDB数据库增删改查操作. 增 mongoDB和其他关系型数据库一样,通过insert来增加数据到集合中去. db.collectionName.insert(内容) 显示数据库中所有集合: show collections 删 MongoDB中通过remove来删除集合中符合一定条件的文档. remove接受一个参数,作为寻找要删除文档的条件: 当然了,也可以直接删除一整个集合,通过drop方法: db.person.drop() 删除集合然后重建索引比删除集合中所有的文档

Mongodb c#增删改查

写在前面 最近项目需要,就研究了下mongodb,也是为了快速上手,就自己弄了一个简单的例子,这里记录一下. Mongodb 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由数据库(database).集合(collection).文档对象(document)三个层次组成.MongoDB对于关系型数据库里的表,但是集合中没有列.行和关系概念,这体现了模式自由的特点. 那么在c#如何使用呢?下面看个例子,你会发现上手非常简

MongoDB的增删改查

1.启动 - 配置环境变量 MongoDB/3.4/bin 通过命令 mongod 来启动 MongoDB 默认端口 27017 redis:6379 Mysql:3306 可以指定数据库存放目录,但在登录时必须指定路径: mongod --dbpath="指定数据库存放路径" 2.应用连接MongoDB数据库 通过 mongo 指令 进行本地数据库连接 3.MongoDB数据: mysql - 数据库服务 - 数据库 - 数据表 - 字段 - 数据row mongodb - 数据库服

vue+express+mongodb 实现 增删改查

一.创建一个vue项目 用脚手架vue-cli搭建一个项目,数据请求用axios方式,写几个按钮用来调接口(vue这块不做多解释,不懂的可以先去官网学习vue-cli:https://cli.vuejs.org/zh/guide/cli-service.html   axios:http://www.axios-js.com/) 注意点:在用axios调用接口的时候会产生跨域,所以有配置下:在vue项目根目录下打开config文件夹下的index.js文件中proxyTable中加入配置内容 p