MongoDB简单的增、删、改、查
insert、remove、drop、update、find、show dbs、show tables先用一段简单的实际操作阐述下使用方法,再较详细的分析。 Linux下执行mongodb自带的mongo命令就可以进入类似mysql一样的控制界面,mongodb的数据库、集合、文档类似mysql中的数据库、表、记录的
insert、remove、drop、update、find、show dbs、show tables先用一段简单的实际操作阐述下使用方法,再较详细的分析。
Linux下执行mongodb自带的mongo命令就可以进入类似mysql一样的控制界面,mongodb的数据库、集合、文档类似mysql中的数据库、表、记录的概念,下面上干货。
#查看数据库 > show dbs; admin (empty) local 0.078GB myinfo 0.078GB #切换数据库,如果数据库不存在,将会在增加第一条记录时自动创建该数据库 > use myinfo switched to db myinfo #查看集合,在向一个不存在的集合添加文档的时自动创建该集合 > show tables; system.indexes #定义一个文档 > doc01={'id':'10', 'name':'job', 'doc':'hello world!'} { "id" : "10", "name" : "job", "doc" : "hello world!" } #查看文档 > doc01 { "id" : "10", "name" : "job", "doc" : "hello world!" } #将文档插入testtable集合 > db.testtable.insert(doc01) WriteResult({ "nInserted" : 1 }) #也可以向集合直接插入文档 > db.testtable.insert({'id':'11', 'name':'jim', 'doc':'hi world!'}) WriteResult({ "nInserted" : 1 }) #再次查看集合时,会发现新创建的集合testtable > show tables; system.indexes testtable #查找集合testtable中的所有文档 > db.testtable.find() { "_id" : ObjectId("5476cd8e0074a24d1b6eaea7"), "id" : "10", "name" : "job", "doc" : "hello world!" } { "_id" : ObjectId("5476cdc00074a24d1b6eaea8"), "id" : "11", "name" : "jim", "doc" : "hi world!" } #查找id为11的文档 >db.testtable.find({'id':'11'}) { "_id" : ObjectId("5476cdc00074a24d1b6eaea8"), "id" : "11", "name" : "jim", "doc" : "hi world!" } #更新id为10的文档,将name改为kiki > db.testtable.update({'id':'10'},{'id':'10', 'name':'kiki', 'doc':'hello workd!'}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.testtable.find() { "_id" : ObjectId("5476cd8e0074a24d1b6eaea7"), "id" : "10", "name" : "kiki", "doc" : "hello workd!" } { "_id" : ObjectId("5476cdc00074a24d1b6eaea8"), "id" : "11", "name" : "jim", "doc" : "hi world!" } #将id等于10的文档删除 > db.testtable.remove({'id':'10'}) WriteResult({ "nRemoved" : 1 }) > db.testtable.find() { "_id" : ObjectId("5476cdc00074a24d1b6eaea8"), "id" : "11", "name" : "jim", "doc" : "hi world!" } >
insert( )函数
使用比较简单,直接插入或间接插入已定义的文档即可。
update( )函数
db.collection.update( criteria, objNew, upsert, multi ) update()函数接受以下四个参数: criteria : update的查询条件,类似sql update查询内where后面的。 objNew : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的 upsert : 这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。 multi : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
remove( )函数、dorp( )函数
使用 remove() 函数移除数据 如果你想移除"userdetails"集合中"user_id" 为 "testuser"的数据你可以执行以下命令: >db.userdetails.remove( { "user_id" : "testuser" } ) 删除所有数据 如果你想删除"userdetails"集合中的所有数据,可以执行以下命令: >db.userdetails.remove({}) 使用drop()删除集合 如果你想删除整个"userdetails"集合,包含所有文档数据,可以执行以下数据: >db.userdetails.drop() 使用dropDatabase()函数删除数据库 如果你想删除整个数据库的数据,你可以执行以下命令: >db.dropDatabase()
find( )函数
从集合中获取数据 如果你想在集合中读取所有的的数据,可以执行以下命令 >db.userdetails.find(); 类似于如下SQL查询语句: Select * from userdetails; 通过指定条件读取数据 如果我们想在集合"userdetails"中读取"education"为"M.C.A." 的数据,我们可以执行以下命令: >db.userdetails.find({"education":"M.C.A."}) 类似如下SQL查询语句: Select * from userdetails where education="M.C.A."; 通过条件操作符读取数据 MongoDB中条件操作符有: (>) 大于 - $gt (=) 大于等于 - $gte () 大于操作符 - $gt 如果你想获取"testtable"集合中"age" 大于22的数据,你可以使用以下命令: >db.testtable.find({age : {$gt : 22}}) 类似于SQL语句: Select * from testtable where age >22; MongoDB 使用 () 查询operator - $lt 和 $gt 如果你想获取"testtable"集合中"age" 大于17以及小于24的数据,你可以执行以下命令: >db.testtable.find({age : {$lt :24, $gt : 17}}) 更多的查询技巧可以查看http://www.w3cschool.cc/mongodb/mongodb-query.html
文章出处:http://www.xiaomastack.com/2014/11/29/mongodb/

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在开发一个电商网站时,我遇到了一个棘手的问题:如何为用户提供个性化的商品推荐。最初,我尝试了一些简单的推荐算法,但效果并不理想,用户的满意度也因此受到影响。为了提升推荐系统的精度和效率,我决定采用更专业的解决方案。最终,我通过Composer安装了andres-montanez/recommendations-bundle,这不仅解决了我的问题,还大大提升了推荐系统的性能。可以通过一下地址学习composer:学习地址

本文介绍如何在Debian系统上配置MongoDB实现自动扩容,主要步骤包括MongoDB副本集的设置和磁盘空间监控。一、MongoDB安装首先,确保已在Debian系统上安装MongoDB。使用以下命令安装:sudoaptupdatesudoaptinstall-ymongodb-org二、配置MongoDB副本集MongoDB副本集确保高可用性和数据冗余,是实现自动扩容的基础。启动MongoDB服务:sudosystemctlstartmongodsudosys

本文介绍如何在Debian系统上构建高可用性的MongoDB数据库。我们将探讨多种方法,确保数据安全和服务持续运行。关键策略:副本集(ReplicaSet):利用副本集实现数据冗余和自动故障转移。当主节点出现故障时,副本集会自动选举新的主节点,保证服务的持续可用性。数据备份与恢复:定期使用mongodump命令进行数据库备份,并制定有效的恢复策略,以应对数据丢失风险。监控与报警:部署监控工具(如Prometheus、Grafana)实时监控MongoDB的运行状态,并

直接通过 Navicat 查看 MongoDB 密码是不可能的,因为它以哈希值形式存储。取回丢失密码的方法:1. 重置密码;2. 检查配置文件(可能包含哈希值);3. 检查代码(可能硬编码密码)。

CentOS系统下MongoDB高效备份策略详解本文将详细介绍在CentOS系统上实施MongoDB备份的多种策略,以确保数据安全和业务连续性。我们将涵盖手动备份、定时备份、自动化脚本备份以及Docker容器环境下的备份方法,并提供备份文件管理的最佳实践。手动备份:利用mongodump命令进行手动全量备份,例如:mongodump-hlocalhost:27017-u用户名-p密码-d数据库名称-o/备份目录此命令会将指定数据库的数据及元数据导出到指定的备份目录。

CentOS系统上GitLab数据库部署指南选择合适的数据库是成功部署GitLab的关键步骤。GitLab兼容多种数据库,包括MySQL、PostgreSQL和MongoDB。本文将详细介绍如何选择并配置这些数据库。数据库选择建议MySQL:一款广泛应用的关系型数据库管理系统(RDBMS),性能稳定,适用于大多数GitLab部署场景。PostgreSQL:功能强大的开源RDBMS,支持复杂查询和高级特性,适合处理大型数据集。MongoDB:流行的NoSQL数据库,擅长处理海

MongoDB与关系型数据库:深度对比本文将深入探讨NoSQL数据库MongoDB与传统关系型数据库(如MySQL和SQLServer)的差异。关系型数据库采用行和列的表格结构组织数据,而MongoDB则使用灵活的面向文档模型,更适应现代应用的需求。主要区别数据结构:关系型数据库使用预定义模式的表格存储数据,表间关系通过主键和外键建立;MongoDB使用类似JSON的BSON文档存储在集合中,每个文档结构可独立变化,实现无模式设计。架构设计:关系型数据库需要预先定义固定的模式;MongoDB支持

要设置 MongoDB 用户,请按照以下步骤操作:1. 连接到服务器并创建管理员用户。2. 创建要授予用户访问权限的数据库。3. 使用 createUser 命令创建用户并指定其角色和数据库访问权限。4. 使用 getUsers 命令检查创建的用户。5. 可选地设置其他权限或授予用户对特定集合的权限。
