mongdb基础操作

news/2025/2/21 13:27:04/

数据库

查看数据库

show dbs;

切换数据库如果没有对应的数据库则创建

use 数据库名;

删除当前数据库

db.dropDatabase();

集合

查看集合

show tables;
show collections;

创建集合

db.createCollection("集合名")

删除集合

db.集合名.drop();

文档

本例的集合名称为inventory

添加单个文档

db.集合.insertOne()(集合不存在会创建一个集合)(如果不指定id, MongoDB会使用ObjectId的value作为id)
db.inventory.insertOne({ item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } })

添加多个文档

db.集合.insertMany()(集合不存在会创建一个集合)
db.inventory.insertMany( [{ item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },{ item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "A" },{ item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },{ item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },{ item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" }]);

查询集合所有文档

db.inventory.find({})

匹配size: { h: 14, w: 21, uom: "cm" }内容的文档

db.inventory.find( { size: { h: 14, w: 21, uom: "cm" } } )

匹配size中uom属性为“in”的文档

db.inventory.find( { "size.uom": "in" } )

匹配size中h属性值小于15的文档

db.inventory.find( { "size.h": { $lt: 15 } } )

匹配h属性小于15并且uom属性为“in”,并且“status”属性为"D"的文档

db.inventory.find( { "size.h": { $lt: 15 }, "size.uom": "in", status: "D" } )

删除集合所有文档

db.inventory.deleteMany({})

删除指定条件的文档

db.inventory.deleteMany({ status : "A" })

最多删除1个指定条件的文档

db.inventory.deleteOne( { status: "D" } )

插入下列文档,供更新操作

db.inventory.insertMany( [{ item: "canvas", qty: 100, size: { h: 28, w: 35.5, uom: "cm" }, status: "A" },{ item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },{ item: "mat", qty: 85, size: { h: 27.9, w: 35.5, uom: "cm" }, status: "A" },{ item: "mousepad", qty: 25, size: { h: 19, w: 22.85, uom: "cm" }, status: "P" },{ item: "notebook", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "P" },{ item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "D" },{ item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },{ item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" },{ item: "sketchbook", qty: 80, size: { h: 14, w: 21, uom: "cm" }, status: "A" },{ item: "sketch pad", qty: 95, size: { h: 22.85, w: 30.5, uom: "cm" }, status: "A" }] );

更新item值为“paper”的第一个文档 将它的size.uom设置为“cm”,status值设置为"P" 并且把lastModified字段更新为当前时间,如果该字段不存在,则生成一个

db.inventory.updateOne({ item: "paper" },{$set: { "size.uom": "cm", status: "P" },$currentDate: { lastModified: true }})

更新qty属性值小于50的文档 将它的size.uom设置为“in”,status值设置为"P" 并且把lastModified字段更新为当前时间,如果该字段不存在,则生成一个

db.inventory.updateMany({ "qty": { $lt: 50 } },{ $set: { "size.uom": "in", status: "P" },$currentDate: { lastModified: true }})

把item属性为“paper”的文档替换成下面的内容

db.inventory.replaceOne({ item: "paper" },{ item: "paper", instock: [ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 40 } ] })


http://www.ppmy.cn/news/79708.html

相关文章

卷起来了?2023这三个项目直接让你原地起飞!

理论自学谁不会,理论知识跟实战项目实践相结合才是大问题? 还在发愁没有项目练手?还在发愁简历中的项目生搬硬凑?还在担心自己没实操过项目被面试官直接K.O? 这三个实战项目让你快人一步,总有一个适合你的&#xff…

Python快速入门

安装python和PyCharm python下载地址:Download Python | Python.org PyCharm下载地址:Download PyCharm: Python IDE for Professional Developers by JetBrains print print("丘桔麻麻");print("哈喽" " 这是一串代码&qu…

CentOS 7安装redis

一、概述 1、redis介绍 Redis 全称 Remote Dictionary Server(即远程字典服务),它是一个基于内存实现的键值型非关系(NoSQL)数据库 2、redis的特点 支持数据持久化 redis支持数据的持久化,可以将内存中的…

Vue——状态管理库Pinia

写在前面:本文参考小满大牛的pinia专栏 一、Vuex与Pinia Vuex 和 Pinia 均是 Vue.js 的状态管理库,它们为 Vue 应用程序提供了一种集中式的、可预测的状态管理解决方案。 Vuex 是 Vue.js 官方推荐的状态管理库之一。它的核心概念包括 state、mutation…

数组字符转成int int输出4个ascii

int型元素如何存放四个字符&#xff1f; 文心一言回答如下&#xff1a; #include <stdio.h> int main() { char str[] "ABCD"; int int_variable; int_variable *(int*)str; // 将指向字符串的指针强制转换为指向int类型的指针&#xff0c;然后将其值赋…

【1++的C++初阶】之模板

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的C初阶】 文章目录 一&#xff0c;浅谈模板二&#xff0c;函数模板三&#xff0c;类模板 一&#xff0c;浅谈模板 在前面的文章【【1的C初阶】之C入门篇1】中我们对函数重载有了一定的认识&a…

《算法竞赛进阶指南》0x62 最小生成树

0x62 最小生成树 走廊泼水节 题意&#xff1a; 给定一棵树&#xff0c;将这棵树加边&#xff0c;扩充为完全图&#xff0c;使完全图的最小生成树为原来的树&#xff0c;询问增加的边权值总和最小是多少 解析&#xff1a; 考虑 kruskal 产生最小生成树的过程&#xff1a;选…

哈希表(散列表)详解

&#x1f495;**今天的每一秒都是珍贵的&#xff0c;因为它永远不会再次出现。**&#x1f495; &#x1f43c;作者&#xff1a;不能再留遗憾了&#x1f43c; &#x1f386;专栏&#xff1a;Java学习&#x1f386; &#x1f697;本文章主要内容&#xff1a;深入理解哈希表&#…