TODO:MongoDB的查询更新删除总结
- 常用查询,条件操作符查询,< 、<=、>、>=、!= 对应 MongoDB的查询操作符是$lt、$lte、$gt、$gte、$ne
例:
db.getCollection(‘image_detail’).find({“dig” : {$gte:0}})//查询大于等于0的数据
- $all,$in的区别{“dig” : {$all : [0,1]}查询出来的结果dig必须有0和1
{“dig” : {$in : [0,1]}查询出来的结果dig可以有0和1,或0,或1
- 有in就有not in,但是没有not allnot in的操作符是$nin,{“dig” : {$nin : [0,1]},查询出来的dig值不包含0,1
- $nin还有个替换的方式$in 取反 {$not : {$in : [0,1]}},巧妙的使用$not,可以解决很多使用场景db.getCollection(‘image_detail’).find({“dig” :{$not : {$in:[0,1]}}}
db.getCollection(‘image_detail’).find({“dig” :{$not : {$all:[0,1]}}})
- 数组的or查询操作符$ordb.getCollection(‘image_detail’).find({$or:[{“dig” :{$not : {$in:[0,1]}}},{“group” : false}]})
- $exists判断字段释放存在,{group:{$exists:true}}表示存在group字段,false这是不存在db.getCollection(‘image_detail’).find({group:{$exists:true}})
- 巧妙的使用null,{group:null}可以查询出group为null的记录,以及没有group字段的记录,如果要查询出字段group为null的值,就需要配合{$exists:true}的使用db.collection.find({group:{“$in”:[null],”$exists”:true}})
- 查询记录条数使用count()db.getCollection(‘image_detail’).find({group:null}).count()
- 用sort函数排序,sort({dig:1})按升序排序,sort({dig:-1})按降序排序db.getCollection(‘image_detail’).find().sort({dig:1})
db.getCollection(‘image_detail’).find().sort({dig:-1})
- skip和limit语句,跳过几条记录然后查询指定数目的记录db.getCollection(‘image_detail’).find().sort({dig:-1}).skip(10).limit(10)
- 数据更新update的使用,update常用到4个参数,第一个参数是查询条件,
第二个参数是更新语句,
第三个参数upsert 可选参数意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入;
第四个参数multi_bool可选,默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
db.getCollection(‘image_detail’).update({}, {“$set”: {“dig”:3}},false,true)
- 数组更新push,删除pulldb.getCollection(‘image_detail’).update({“group” : false},{“$pull”: {“tags”:”图片”}},false,true)
db.getCollection(‘image_detail’).update({},{“$push”: {“tags”:”图片”},”$inc”:{“dig”:1}},false,true)
- 数组切片查询$slice,{“tags” : {$slice:10}}查询数据前10条记录,
{“tags” : {$slice:-10}}查询数据后10跳记录,
{“tags” : {$slice:[2,5}}查询第2条数据后5条跳记录
这个例子查询显示的字段为tags,image,dig
db.getCollection(‘image_detail’).find({},{“tags”: {“$slice”:[2,3]},”_id”:0,”image”:1,”dig”:1})
- 递增的参数$inc,递减呢?{“$inc” : {“dig”:1}} 是dig字段增1,
{“$inc” : {“dig”:-1}} 是dig字段减1
- 删除removedb.getCollection(‘image_detail’).find({“dig”:1})
- 常用helpdb.help()
db.find.help()
db.update.help()
wxgzh:ludong86
相关推荐
MongoDB和NextJS●TODO 没有别的,只是一个简单的和冷静的待办事项用一个简单的,甚至冷却器数据库! :rocket: 入门该项目仍在进行中! 因此,尚无可用的网站URL :(。如果您想查看我的进度,只需克隆此存储库并在...
在TODO API中,GraphQL可以用来创建、读取、更新和删除(CRUD)任务,提供高效的数据获取体验。 **MongoDB** MongoDB是一款流行的NoSQL数据库,特别适合处理结构不固定或半结构化的数据。在TODO应用中,每个待办...
6. **CRUD操作**:在Todo应用中,基本的操作包括创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)待办事项。这些功能通常对应于HTTP的POST、GET、PUT和DELETE请求。 7. **中间件(Middleware)**:...
带有MongoDB,Express.js和Node.js的简单Todo应用ToDo应用程序使用以下技术和javascript库: MongoDB Express.js Node.js 快递车把方法重写连接闪存表达会议猫鼬bcryptjs 护照这是什么? 一个简单的待办应用程序。 ...
MongoDB支持多种操作,包括CRUD(创建、读取、更新、删除)以及集合(类似于关系数据库中的表)和索引的概念。 ### 三、安装与设置 1. **安装Node.js** - 首先确保你的系统上已经安装了Node.js。 2. **创建项目** -...
在“meteor-test-todo”中,每个待办事项可能会被存储为一个MongoDB文档,方便查询和更新。 4. **DDP**:分布式数据协议是Meteor的特色之一,它负责在服务器和客户端之间传输数据变更,实现双向数据绑定。在...
这个项目是用引导的。可用脚本在项目目录中,可以运行:npm start 在开发模式下运行应用程序。... 此命令将从您的项目中删除单个构建依赖项。 相反,它会将所有配置文件和可传递依赖项(webpack、B
- **Controller**:处理业务逻辑,例如添加、删除、更新和获取待办事项。 - **View**:可能使用模板引擎(如EJS、Pug等)来渲染HTML页面,展示待办事项列表,并接收用户输入。 - **Routes**:定义URL路由,对应不同...
这个应用可能是为了帮助用户在线管理他们的待办事项,提供创建、查看、更新和删除任务的功能。 【描述详解】 "一个基于flask和mongodb的待办事项Web应用程序" 描述中提到了两个关键技术和数据库:Flask和MongoDB。...
基于项目的教程实践: : 带有 Express.js 的 Todo 应用这是使用 Express.js v4.8.1 和 Mongoskin&MongoDB for 构建的创建、读取、更新、删除 Web 应用程序的示例。 完整源代码可在。 更多 Express.js 在。 更多 Node...
5. **控制器(Controllers)**:处理路由触发的业务逻辑,例如从数据库中查询待办事项、创建新记录、更新现有记录或删除记录。 6. **测试(Tests)**:使用如Jest或Mocha这样的测试框架,编写单元测试和集成测试以确保...
在Todo应用中,React负责创建可交互的组件,如添加、删除和编辑任务的界面,以及实时更新任务列表。 **ReactJS** 和上述的 **React** 是同义词,强调了该项目使用的是React的JavaScript版本,而不是其他方言或库。 ...
- **Mongoose**:Mongoose 是一个用于 Node.js 的 MongoDB 模型和 ODM(对象数据映射)库,它提供了对 MongoDB 的强类型模型和丰富的查询 API。 - **模型定义**:通过 Mongoose,我们可以定义 Todo 对象模型,包含...
每个Todo项都会被存储在MongoDB数据库中,当用户添加、删除或完成Todo时,这些变更会立即反映到所有连接的设备上,无需手动刷新页面。 JavaScript在这个过程中扮演了核心角色。在客户端,我们可以使用 Meteor 的 `...
开发者可能会使用Mongoose库作为与MongoDB交互的接口,定义数据模型并执行CRUD(创建、读取、更新、删除)操作。 3. **RESTful API**:此应用很可能通过REST(Representational State Transfer)架构风格来设计其...
当用户勾选或删除事项时,相应的`TodoItem`组件应更新其状态,并同步到后台数据存储。 7. **路由配置**:配置Wicket的URL映射,确保用户能够通过特定URL访问`TodoListPage`。 8. **测试和优化**:编写单元测试和...
在待办事项应用中,Express将处理用户的CRUD(创建、读取、更新、删除)操作,如添加新任务、获取所有任务、更新任务状态以及删除任务。 AngularJS是Google开发的前端框架,它极大地简化了客户端应用的开发。在本...
【标题】"ToDo:简单的基于Web的任务管理器"是一个实用的项目,旨在提供一个轻量级的任务管理解决方案,用户可以通过Web界面轻松地创建、编辑和跟踪任务。这个系统的核心目标是帮助个人或团队有效地组织日常任务,...
TODO 项目可以删除。 根据用户的选择,TODO 可以有一个截止日期。 您可以设置和调整 TODO 项目的优先级。 可以对 TODO 项进行完成处理。 您可以公开已超过截止日期的 TODO 的通知。 性能要求 尽量减少使用 ...
Todo-Backend 是一个通用的 API 规范,用于创建、读取、更新和删除(CRUD)待办事项。这种规范通常用于演示或测试客户端应用如何与 RESTful API 进行交互。规范定义了以下核心操作: 1. `GET /todos`: 获取所有待办...