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()
相关推荐
在实际应用中,掌握这些基本查询操作是MongoDB开发的基础。通过熟练运用这些命令和运算符,开发者可以有效地检索、过滤和处理MongoDB中的数据。无论是数据分析、Web开发还是大数据处理,MongoDB都能提供高效、灵活的...
通过以上对`db.tablename.findOne({})`的详细介绍,可以看出这是一个非常实用的MongoDB查询命令,它可以帮助开发者轻松地从数据库中检索出所需的文档。了解并熟练掌握此类基本命令对于进行高效的数据管理至关重要。...
一、MongoDB查询基础 1. 查询文档:在MongoDB中,查询数据是通过`find()`方法实现的。例如,如果你想从"movies"集合中找到所有的文档,你可以使用以下命令: ```javascript db.movies.find(); ``` 2. 条件查询...
MongoDB 是一个高性能的NoSQL数据库,以分布式文件存储为基础,提供灵活的数据模型和高效的查询操作。MongoDB 不同于传统的关系型数据库,它采用面向集合的存储方式,支持无模式的数据模型,允许数据自由组织,这...
4. **查询语言**:MongoDB的查询语言(MQL)是一种声明式的查询语言,允许用户通过JSON格式的查询表达式来检索数据。它支持丰富的查询选项,如条件过滤、排序、分组以及聚合操作。 5. **索引**:为了提高查询性能,...
在这个“MongoDB基础”的资料中,我们将会深入探讨MongoDB的基础知识,包括数据库操作、集合操作、索引创建以及聚合框架的使用。 1. **数据库操作**: MongoDB中的数据库是存储数据的逻辑单元。你可以通过`use ...
3. 查询语言:MongoDB提供了MQL(MongoDB查询语言),支持丰富的查询操作,包括基本的字段匹配、条件查询,以及更复杂的聚合操作。 4. CRUD操作:创建(Create)、读取(Read)、更新(Update)和删除(Delete)是...
### MongoDB查询详解 #### 一、引言 在NoSQL数据库的世界里,MongoDB因其灵活的数据模型、高性能和可扩展性而备受青睐。查询作为数据库操作中最基础也是最重要的功能之一,在MongoDB中同样有着丰富的语法支持。...
MongoDB 是一种流行的开源NoSQL数据库,以其面向文档的数据模型、高性能、高可用性和高可扩展性而闻名...无论是初学者还是经验丰富的开发者,都需要掌握MongoDB的基础知识和操作技巧,以便在实际项目中充分利用其优势。
首先,我们要了解MongoDB查询的基本原理。MongoDB使用查询解释器来解析查询语句,并生成执行计划。执行计划决定了数据如何被检索,包括使用的索引、数据读取顺序等。你可以通过`db.collection.explain()`方法来查看...
**一、MongoDB基础操作** 1. **安装与启动**:MongoDB的安装通常涉及下载适合操作系统(如Windows、Linux或macOS)的二进制包,然后按照官方指南配置环境变量和启动服务。启动MongoDB服务器时,可以使用`mongod`...
实用有效,最基础的查询显示字段、排序、分页、in 、范围查询和更新字段语句
本学习资料将带你深入了解MongoDB的基础知识,包括安装与配置、数据模型、查询操作以及数据管理等方面。 首先,我们从安装与配置开始。MongoDB支持多种操作系统,如Windows、Linux和macOS。在不同的操作系统上,...
MongoDB Java 基础知识点 MongoDB 是一个基于分布式文件存储的数据库开源项目,旨在为 WEB 应用提供可靠的高性能数据存储解决方案。MongoDB 的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有: ...
MongoDB查询的基础知识包括: 1. **查询语法**:MongoDB使用MQL(MongoDB Query Language)进行查询,这是一种基于JSON的查询语言。例如,查找所有名为"John"的用户可以写为`db.users.find({"name": "John"})`。 2...
MongoDB 的优势在于其出色的文档查询性能,尤其适合处理非结构化数据,如用户操作记录、订单流水和用户评论等。然而,对于需要严格数据结构和事务操作的场景,如银行交易或会计系统,MongoDB 就可能不是最佳选择。在...
3 MongoDB客户端基础使用.mp4 4 MongoDB集合的多种查询条件.mp4 5 MongoDB索引查询与建立.mp4 6 MongoDB数据库的监控命令.mp4 7 MongoDB副本集的搭建.mp4 8 MongoDB副本集故障自动切换.mp4 9 MongoDB副本集各实例的...
### MongoDB基础了解 #### 一、MongoDB简介与特点 MongoDB是一款开源的NoSQL数据库系统,它基于分布式文件存储,旨在为Web应用程序提供一种可扩展且高性能的数据存储方案。MongoDB融合了关系型数据库的一些特性,...