MongoDB CRUD 操作手册
基本操作
增加
在MongoDB中通过db.collection.insert()来增加新的数据。
db.users.insert({username:"Jack",age:30})
操作完成之后会返回一条WriteResult对象,这个对象包含了操作的状态。
WriteResult({"nInserted" : 1 })
如果插入失败,WriteResult会包含错误信息。
通过 db.collection.find() 来查找所有插入的文档信息。
批量增加
db.collection.insert()支持批量操作。
可以先创建数组,然后一次性插入。
var users=
[
{
username:"Frank",
age:20
},
{
username:"Bob",
age:22
},
{
username:"Lucy",
age:21
}
]
db.users.insert(users)
操作完成之后,会返回一个BulkWriteResult对象,来反馈本次操作的相关信息。
除了以上这种操作,MongoDB(2.6版本之后)还提供了另外一种批量操作Bulk()函数。
通过db.collection.initializeOrderedBulkOp(),初始化一个Bulk操作块。
var bulk = db.users.initializeUnorderedBulkOp();
bulk.insert(
{
username:"James",
age:30
}
);
bulk.insert(
{
username:"Wade",
age:31
}
);
//commit operation
bulk.execute()
同样,这个操作也会返回 BulkWriteResult 对象反馈相关信息。
查询操作
通过db.collection.find() 可以查到集合下的所有数据。
db.users.find({})
db.users.find()
条件查询
db.users.find({age:10})
使用 $in 关键字选取符合后面列表条件的数据
db.users.find( { age: { $in: [ 30, 20 ] } } )
多个条件
db.users.find( { age: 30, username: 'James' } )
当一个条件成立的时候,使用 $or 查询
db.users.find({
$or: [ { username: "James", age:30} ]
})
修改数据
通过update函数来更新数据,第一个参数去选取需要匹配的数据,然后用 $set 关键字,来更新需要更新的数据字段。最后使用 currentDate来修改这个数据的修改时间。
db.users.update(
{ age:20 },
{
$set:{
age:25
},
$currentDate : {lastModified:true}
}
)
操作会返回一个WriteResult对象来解释这次操作的状态。
更新一个嵌套的数据
db.doc.insert(
{
bookname:"Rework",
detail:{
model: "14Q3",
manufacturer: "XYZ Company"
}
}
)
db.doc.update(
{ bookname:"Rework" },
{ $set:{"details.model": "14Q2"} }
)
操作会返回一个WriteResult对象来解释这次操作的状态。
默认情况下,MongoDB只会更新一条数据,如果更新多条数据,需要在更新是指定参数。
db.users.update(
{ age:20 },
{
$set:{
age:25
},
$currentDate : {lastModified:true}
},
{ multi: true }
)
替换数据
替换数据会替换文档中,除了_id字段之外的所有数据。
db.users.update(
{ name: "none" },
{
name:"Kids",
age:12
}
)
默认情况下,如果update方法没有匹配到任何数据,那么update方法就不会做任何事情。然而使用upsert关键字,那么如果没有匹配到数据,会自动新增一条新的数据到集合中。
db.users.update(
{ name:"one" },
{
name:"Kids",
age:12
},
{ upsert : true }
)
操作会返回一个WriteResult对象来解释这次操作的状态,这里会带有新的数据的id值。
删除数据
使用remove()函数删除所有的数据.
db.users.remove({})
remove()操作比drop()操作更加有效率。
按条件删除
db.users.remove({age:30})
只删除查找到的数据中得第一条数据。
db.users.remove({age:30},true)
有限查询
返回所有的字段
db.users.find({age:20})
返回指定的字段
db.users.find( { age : 20 }, { age:true, username:true } )
默认总是会有_id字段,除非自己特意指定
db.users.find( { age : 20 }, { age:true, username:true, _id:false } )
除去特定字段,全部返回
db.users.find( { age : 20 }, { age:false} )
MongoDB CRUD 操作手册的更多相关文章
- Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作
2 Mongodb CRUD 操作 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mong ...
- MongoDB CRUD 操作
crud是指在做计算处理时的增加(Create).读取查询(Retrieve).更新(Update)和删除(Delete)几个单词的首字母简写.crud主要被用在描述软件系统中数据库或者持久层的基本操 ...
- 【翻译】MongoDB指南/CRUD操作(二)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...
- 【翻译】MongoDB指南/CRUD操作(一)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删 ...
- 【翻译】MongoDB指南/CRUD操作(四)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...
- 【翻译】MongoDB指南/CRUD操作(三)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近 ...
- MongoDB的CRUD操作
1. 前言 在上一篇文章中,我们介绍了MongoDB.现在,我们来看下如何在MongoDB中进行常规的CRUD操作.毕竟,作为一个存储系统,它的基本功能就是对数据进行增删改查操作. MongoDB中的 ...
- Spring Data MongoDB 一:入门篇(环境搭建、简单的CRUD操作)
一.简介 Spring Data MongoDB 项目提供与MongoDB文档数据库的集成.Spring Data MongoDB POJO的关键功能区域为中心的模型与MongoDB的DBColle ...
- mongodb 数据操作CRUD
链接到mongo 新建超级用户 上文中我们提到mongo用户库表管理.为了方便我们先新建一个root权限的用户. db.createUser({user:'dbadmin',pwd:'123456', ...
随机推荐
- Restful资源文章
理解RESTful架构 RESTful API设计指南 RESTful架构详解 NodeJs的RESTful API
- 在WPF中使用依赖注入的方式创建视图
在WPF中使用依赖注入的方式创建视图 0x00 问题的产生 互联网时代桌面开发真是越来越少了,很多应用都转到了浏览器端和移动智能终端,相应的软件开发上的新技术应用到桌面开发的文章也很少.我之前主要做W ...
- C#与C++的发展历程第三 - C#5.0异步编程巅峰
系列文章目录 1. C#与C++的发展历程第一 - 由C#3.0起 2. C#与C++的发展历程第二 - C#4.0再接再厉 3. C#与C++的发展历程第三 - C#5.0异步编程的巅峰 C#5.0 ...
- [NodeJS] 优缺点及适用场景讨论
概述: NodeJS宣称其目标是“旨在提供一种简单的构建可伸缩网络程序的方法”,那么它的出现是为了解决什么问题呢,它有什么优缺点以及它适用于什么场景呢? 本文就个人使用经验对这些问题进行探讨. 一. ...
- LeetCode-4MedianofTwoSortedArrays(C#)
# 题目 4. Median of Two Sorted Arrays There are two sorted arrays nums1 and nums2 of size m and n resp ...
- SQL Server 2014 新特性——内存数据库
SQL Server 2014 新特性——内存数据库 目录 SQL Server 2014 新特性——内存数据库 简介: 设计目的和原因: 专业名词 In-Memory OLTP不同之处 内存优化表 ...
- 微软新神器-Power BI横空出世,一个简单易用,还用得起的BI产品,你还在等什么???
在当前互联网,由于大数据研究热潮,以及数据挖掘,机器学习等技术的改进,各种数据可视化图表层出不穷,如何让大数据生动呈现,也成了一个具有挑战性的可能,随之也出现了大量的商业化软件.今天就给大家介绍一款逆 ...
- 几个有趣的WEB设备API 前端提高B格必备(一)——电池状态&震动api
受到同事启发,突然发现了几个有趣又实用的web api,没想到前端还有这么多有趣的东西可以玩~~简直过分. 1.电池状态API navigator.getBattery():这个api返回的是一个pr ...
- 手把手教你写一个RN小程序!
时间过得真快,眨眼已经快3年了! 1.我的第一个App 还记得我14年初写的第一个iOS小程序,当时是给别人写的一个单机的相册,也是我开发的第一个完整的app,虽然功能挺少,但是耐不住心中的激动啊,现 ...
- H3 BPM社区:流程开发者的学习交流平台
企业上市有上市流程,融资扩充有融资流程,项目招投标有招投标流程,部门领导选拔有晋升流程,员工请假休假有请假流程,早起上班梳洗有符合自己习惯的流程--生活处处是流程,流程无处不在.但从信息化建设来说,企 ...