mongodb 的常用数据操作

2023-05-16

摘要:

        主要记录一些常见 的mongodb 的增删改查,方便以后查阅。

1.增

基本格式:

db.test_doc.insert({}) 或 db.test_doc.save({})

样例:

db.test_doc.insert({
    "name":"w",
    "age":25,
    "pretty":true
})
db.test_doc.save({
    "name":"ww",
    "age":255,
    "pretty":false
})

插入的文档是一个 json 格式的 object,支持嵌套。

2.查

基本格式:

db.test_doc.find({})
   .projection({})
   .sort({})
   .limit()

findOne 是查询一条数据。

样例:

db.test_doc.find({"name":'s'})
   .projection({})
   .sort({_id:-1})
   .limit(100)

查询 name=s 数据,按照 _id 字段倒序排序,只返回前 100 条数据。

1)AND条件

条件并列即可,没有特殊的操作字符。

样例:

db.test_doc.find({"name":'s',"age":18})

2)OR条件

or 里面需要是个数组,数组里面是个object。

样例:

db.test_doc.find({$or:[{"age":25},{"name":"w"}]})

查询 age=25 或者 name=w 的数据。

3)其他条件语句:

条件操作符中文
$gt大于
$gte大于等于
$lt小于
$lte小于等于
$ne不等于
//包含
db.test_doc.find({"age":{$lt:90,$gt:18},"name":/ww/})

查询 25<age<90 且 name 包含 ww 的数据。

3.删

基本格式:

db.test_doc.remove(
    {query},
    {justOne:<bool>}
)

- query:删除的文档的条件(不写时会删除全部文档)。
- justOne:如果设为 true 或 1,则只删除一个文档(不写时删除所有满足条件的文档)。

样例:

删除 name=w 的文档
db.test_doc.remove({
    "name":"w"}
)


删除 name 值包含 w 的文档
db.test_doc.remove({
    "name":/w/}
)

4.改

基本格式:

db.col_name.update(
   {},
   {},
   {
     upsert: <bool>,
     multi: <bool>
   }
)

第一个{}:查询条件
第二个{}:修改数据
upsert : 可选,如果不存在记录,是否插入;true 为插入,默认是 false,不插入
multi : 可选,默认false,只更新找到的第一条记录;true 更新全部记录

样例:

db.test_doc.update({"name":/w/},{$set:{"age":18},$unset:"pretty"},{multi:true})

name 包含 w 的数据,把 age 设置为 18,并删除数据的 pretty 字段,对所有命中的数据生效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mongodb 的常用数据操作 的相关文章

随机推荐

  • ICE C++ Hello World

    ICE C 43 43 Hello World实例教程 1 概述 本文演示了如何编写一个最简单的C 43 43 ICE Internet Communications Engine 应用程序 xff0c 包括必要环境的安装 该应用程序包含客
  • 华为工作的感悟

    参考 xff1a http www openlab net cn forums thread 1002986 1 p10035795 北邮北 xff0c 清华硕 xff0c 一年两个月的华为生活总结 xff0c 算了 xff0c 贴出来了
  • MRCP 媒体资源控制协议

    媒体资源控制协议 xff08 Media Resource Control Protocol MRCP xff09 是一种通讯协议 xff0c 用于语音服务器向客户端提供各种语音服务 如语音识别和语音合成 MRCP并不定义会话连接 xff0
  • Hadoop中VIntWritable编码方式解析

    最近因为实验室的云计算项目 xff0c 开始学习Hadoop xff0c 有时间就记录一下自己在学习过程中的一些小收获吧 Hadoop权威指南 在序列化这一节有个例子程序 xff0c 叫做TextPair xff0c 代码略长 xff0c
  • 测试分析报告

    测试分析报告 1 引言 1 1 1 编写目的 1 1 2 背景 1 1 3 定义 2 1 4 参考资料 2 2 测试概要 2 3 测试结果及发现 3 3 1 测试 1 xff08 normal xff09 3 3 2 测试 2 xff08
  • MapReduce中的二次排序

    在MapReduce操作时 xff0c 我们知道传递的 lt key value gt 会按照key的大小进行排序 xff0c 最后输出的结果是按照key排过序的 有的时候我们在key排序的基础上 xff0c 对value也进行排序 这种需
  • 基于哈夫曼编码的文件压缩解压

    这个程序是研一上学期的课程大作业 当时 xff0c 跨专业的我只有一点 C 语言和数据结构基础 xff0c 为此 xff0c 我查阅了不少资料 xff0c 再加上自己的思考和分析 xff0c 实现后不断调试 测试和完善 xff0c 耗时一周
  • Errors were encountered while processing 解决方法

    在执行更新或者安装软件命令时 sudo apt get upgrade sudo apt get install 遇到 xff1a Errors were encountered while processing 查看错误信息发现 xff1
  • JSON传list数据到springMVC后台并用对象接收

    在项目中经常获取前台table中的数据 然后拼接传向后台 之前一直按照JSON格式拼接 但是非常容易出问题 而且遇到了类似List lt beans gt list 这样的参数 springMVC转化为对象会报错 正确的做法是按下面这种做法
  • Java解析网络数(Json)运用CloseableHttpClient

    最近做用Java网络爬取数据的部分 xff0c 发现在使用Apache的httpclient的时候 xff0c 发现Idea提示DefaultHttpClient等常用的类已经不推荐使用了 现在运用 CloseableHttpClient
  • 【Linux】Ubuntu18.0.4安装wine 失败遇到的问题和解决的思路 尝试覆盖共享/usr/share/doc/ 处理时有错误 /tmp/apt-dpkg-install-6NvbtI/

    bug说明 xff1a dpkg 处理归档 var cache apt archives libattr1 1 2 4 47 2 amd64 deb unpack 时出错 xff1a 尝试覆盖共享的 usr share doc libatt
  • 算法模型---时间序列模型

    文章来源 时间序列 时间序列是时间间隔不变的情况下收集的不同时间点数据集合 xff0c 这些集合被分析用来了解长期发展趋势及为了预测未来 时间序列与常见的回归问题的不同点在于 1 时间序列是跟时间有关的 而线性回归模型的假设 xff1a 观
  • java: 找不到符号 符号: 类 BASE64Encoder 位置: 程序包 sun.misc

    1 问题 新项目编译报错如下 xff1a java 找不到符号 符号 类 BASE64Encoder 位置 程序包 sun misc 2 解决方案 依图如下 xff0c 修改jdk对应的版本即可
  • tar 打包隐藏文件

    前言 xff1a 先说一下遇到的场景 xff1a 前段时间在配合做 DevOps xff0c 组内有块代码是 php 的 xff0c 需要用 tar 命令打包归档上传到 nexus 库 xff0c 后来发现解压出来的包居然缺失了隐藏文件 x
  • The server selected protocol version TLS10 is not accepted by client preferences [TLS12] 报错处理

    一 问题描述 xff1a 项目工程需求要连接 SqlServer 服务器 xff0c 但是报错了 xff0c 完整错误如下 xff1a com microsoft sqlserver jdbc SQLServerException 驱动程序
  • 23种设计模式

    目录 创建型 1 Factory Method xff08 工厂方法 xff09 2 Abstract Factory xff08 抽象工厂 xff09 3 Builder xff08 建造者 xff09 4 Prototype xff08
  • SpringBoot开启异步多线程

    前言 xff1a SpringBoot 的异步多线程需要从 java 的多线程基础说起 xff0c 可以参考 java 多线程实现的三种方式区别 SpringBoot 在此基础上进行了多次封装 xff0c 所以使用起来非常方便 一 核心参数
  • 制作 java-sdk 的两种方式

    前言 xff1a 平时maven工程里 pom 中的引用的依赖就是别人开发好的 sdk 包 xff1b 工作中为了方便一些开发也需要自定义开发 sdk 包 xff0c 下面介绍下怎么开发 一 两种方式 我们平时引用 sdk 有两种方式 xf
  • SpringBoot 之 AOP

    前言 xff1a Spring 三大核心思想是啥 xff0c 还记得不 xff1f IOC xff08 控制反转 xff09 xff0c DI xff08 依赖注入 xff09 xff0c AOP xff08 面向切面编程 xff09 回顾
  • mongodb 的常用数据操作

    摘要 xff1a 主要记录一些常见 的mongodb 的增删改查 xff0c 方便以后查阅 1 增 基本格式 xff1a db test doc insert 或 db test doc save 样例 xff1a db test doc