`

MongoDB查询基础

 
阅读更多

insert

MongoDB中的数据是存在collection中的,类似表。collection中一条数据就是一个document。而collection存在db中。

比如要在一个名叫mydb的DB中,一个名叫users的collection中插入一条数据, 这是两条命令。

 

use mydb

db.users.insert({
		  name:"Jimi",
		  age:26
		  status:"A"
		})

 

 

 

 查看现在使用中的db

 

db

 

 查看目前这个db中的所有collection

 

show collections

 

  查看所有db

 

show dbs

 

 

save

save和insert基本一样,在处理_id时有不同

比如插入一条数据,指定了_id

 


db.users.insert({


_id:1,


name:"Jimi",



age:26,



status:"A"
})


 

 

然后修改这条记录时不小心改错了,像这样db.users.update({_id:1},{})  ,

这时save该出场了,只要把刚才那一句的insert改成save就OK


db.users.save({


_id:1,


name:"Jimi",



age:26,



status:"A"
})


insert和save区别

insert会对_id做检查,如果_id有重复,会报错

而save是保存某个_id的改动,如果没对应的_id则新插入一条,

 

 但save会覆盖整条数据,如果是如下这条语句,那么status字段就没了

db.users.save({


_id:1,


name:"Jimi",



age:26,

}) 

 

 

 find

 

 

db.users.find()                              查看users中所有记录

 

db.users.find({name:"jimi"})                 查询字段name=jimi

 

db.users.find({name:{$in:["jimi","Tom"]}})   查询name字段属于jimi和Tom

 

db.users.find({name:"jimi" , age:{$gt:18}})  两个条件同时符合(and)
db.users.find( { age: { $gt: 18 } } )        age>18

 

OR条件

db.users.find(
                   { $or: [
                            { age: { $gt: 18 } },
                            { status: "A" }
                          ]
                   }
                 )

 And ,Or

db.users.find( { name: 'jimi', $or: [ { age: { $gt: 18 } },
                                       { status: "A" ]
                   } )

 

 

再加一点

db.users.find( { age: { $gt: 18 } }, { name: 1,_id: 0 } ).limit(5)

find第一个参数{ age: { $gt: 18 } }是查询条件,age>18

第二个参数{ name: 1,_id: 0 } 表示查询的字段,类似SQL中select,数字是开关,name:1显示name字段,_id:0表示不显示_id(_id是mongoDB自动添加的字段)

limit(5)最多显示5条

 

 _id:0有无的区别

 

 

 

update

 把记录中sue的名字改成Sue

db.users.update(
   { name: { $eq: "sue" } },
   { $set: { name: "Sue" } }
)

 

Jimi的年龄增加5岁

db.users.update(
   { name:"Jimi" },
   { $inc: { age: 5 } }
)

 

 

年龄大于18的人status都改成B

db.users.update(
   { age: { $gt: 18 } },
   { $set: { status: "A" } },
   { multi: true }
)

 没{multi: true }这一句的话,只会修改一条记录

 

 

存在name=“Tom”,age=19的记录修改,不存在则insert这条记录,关键词{ upsert: true }

db.users.update(
           { name: "Tom",age: 19 },
           { $set: { status: "A" } },
           { upsert: true }

 

那如果要更新collection中所有数据呢,简单,不要加任何查询条件,比如给所有数据加一个class字段

 

db.users.update(
   { },
   { $set : { class : "One"}}
   { multi : true}
)

 

 

 

remove

删除所有age=29的记录

db.users.remove(
   { age: 29 }
)

 

删除一条age=29的记录

db.users.remove(
   { age: 29 },
   { justOne:true}
)

 

 

 

 删除整个collection

 

db.users.drop()

 

 

  • 大小: 3.9 KB
分享到:
评论

相关推荐

    MongoDB基本查询.pdf

    在实际应用中,掌握这些基本查询操作是MongoDB开发的基础。通过熟练运用这些命令和运算符,开发者可以有效地检索、过滤和处理MongoDB中的数据。无论是数据分析、Web开发还是大数据处理,MongoDB都能提供高效、灵活的...

    MongoDB命令查询.txt

    通过以上对`db.tablename.findOne({})`的详细介绍,可以看出这是一个非常实用的MongoDB查询命令,它可以帮助开发者轻松地从数据库中检索出所需的文档。了解并熟练掌握此类基本命令对于进行高效的数据管理至关重要。...

    MONGODB查询:使用MONGODB的电影数据库

    一、MongoDB查询基础 1. 查询文档:在MongoDB中,查询数据是通过`find()`方法实现的。例如,如果你想从"movies"集合中找到所有的文档,你可以使用以下命令: ```javascript db.movies.find(); ``` 2. 条件查询...

    Mongodb基础知识详解(值得珍藏).pdf

    MongoDB 是一个高性能的NoSQL数据库,以分布式文件存储为基础,提供灵活的数据模型和高效的查询操作。MongoDB 不同于传统的关系型数据库,它采用面向集合的存储方式,支持无模式的数据模型,允许数据自由组织,这...

    MongoDB基础教学文档

    4. **查询语言**:MongoDB的查询语言(MQL)是一种声明式的查询语言,允许用户通过JSON格式的查询表达式来检索数据。它支持丰富的查询选项,如条件过滤、排序、分组以及聚合操作。 5. **索引**:为了提高查询性能,...

    MongoDB基础

    在这个“MongoDB基础”的资料中,我们将会深入探讨MongoDB的基础知识,包括数据库操作、集合操作、索引创建以及聚合框架的使用。 1. **数据库操作**: MongoDB中的数据库是存储数据的逻辑单元。你可以通过`use ...

    mongodb-基础知识和高级知识

    3. 查询语言:MongoDB提供了MQL(MongoDB查询语言),支持丰富的查询操作,包括基本的字段匹配、条件查询,以及更复杂的聚合操作。 4. CRUD操作:创建(Create)、读取(Read)、更新(Update)和删除(Delete)是...

    MongoDB之查询详解

    ### MongoDB查询详解 #### 一、引言 在NoSQL数据库的世界里,MongoDB因其灵活的数据模型、高性能和可扩展性而备受青睐。查询作为数据库操作中最基础也是最重要的功能之一,在MongoDB中同样有着丰富的语法支持。...

    五、MongoDB 学习PPT

    MongoDB 是一种流行的开源NoSQL数据库,以其面向文档的数据模型、高性能、高可用性和高可扩展性而闻名...无论是初学者还是经验丰富的开发者,都需要掌握MongoDB的基础知识和操作技巧,以便在实际项目中充分利用其优势。

    mongodb查询性能.rar

    首先,我们要了解MongoDB查询的基本原理。MongoDB使用查询解释器来解析查询语句,并生成执行计划。执行计划决定了数据如何被检索,包括使用的索引、数据读取顺序等。你可以通过`db.collection.explain()`方法来查看...

    MongoDB基础(自己总结不喜勿喷)

    **一、MongoDB基础操作** 1. **安装与启动**:MongoDB的安装通常涉及下载适合操作系统(如Windows、Linux或macOS)的二进制包,然后按照官方指南配置环境变量和启动服务。启动MongoDB服务器时,可以使用`mongod`...

    mongoDB基础查询/更新语句笔记

    实用有效,最基础的查询显示字段、排序、分页、in 、范围查询和更新字段语句

    MongoDB基础学习资料

    本学习资料将带你深入了解MongoDB的基础知识,包括安装与配置、数据模型、查询操作以及数据管理等方面。 首先,我们从安装与配置开始。MongoDB支持多种操作系统,如Windows、Linux和macOS。在不同的操作系统上,...

    mongodb-java基础.pdf

    MongoDB Java 基础知识点 MongoDB 是一个基于分布式文件存储的数据库开源项目,旨在为 WEB 应用提供可靠的高性能数据存储解决方案。MongoDB 的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有: ...

    一个简单的沙箱来测试和共享MongoDB查询.zip

    MongoDB查询的基础知识包括: 1. **查询语法**:MongoDB使用MQL(MongoDB Query Language)进行查询,这是一种基于JSON的查询语言。例如,查找所有名为"John"的用户可以写为`db.users.find({"name": "John"})`。 2...

    mongodb面试基础操作学习

    MongoDB 的优势在于其出色的文档查询性能,尤其适合处理非结构化数据,如用户操作记录、订单流水和用户评论等。然而,对于需要严格数据结构和事务操作的场景,如银行交易或会计系统,MongoDB 就可能不是最佳选择。在...

    MongoDB企业级分片集群搭建视频.zip

    3 MongoDB客户端基础使用.mp4 4 MongoDB集合的多种查询条件.mp4 5 MongoDB索引查询与建立.mp4 6 MongoDB数据库的监控命令.mp4 7 MongoDB副本集的搭建.mp4 8 MongoDB副本集故障自动切换.mp4 9 MongoDB副本集各实例的...

    MongoDB基础了解.docx

    ### MongoDB基础了解 #### 一、MongoDB简介与特点 MongoDB是一款开源的NoSQL数据库系统,它基于分布式文件存储,旨在为Web应用程序提供一种可扩展且高性能的数据存储方案。MongoDB融合了关系型数据库的一些特性,...

Global site tag (gtag.js) - Google Analytics