MongoDB基础(增、删、改、查)操作

一、插入

MongoDB的插入 语句是这样的格式:

db.collection.insert(document)

其中document是文档数据,collection是存放文档数据的集合。如果collection存在,document会添加到collection目录下, 如果collection不存在,数据库会先创建collection,然后再保存document。

例如:把name和age保存到person集合中

db.person.insert({name:"八豆少爷",age:100})

上面是单个插入的列子,批量插入很类似,插入多个文档时,insert命令的参数为一个数组,数组元素为BSON格式的文档,多个文档可以放在一个数组内,一次插入多条数据,

例如:db.users.insert([{name:”八豆”,age:1000},{name:”ID农”,age:1}])

但是使用批量插入时也有一些问题需要注意,因为BSON格式的限制,一次插入的数据量不能超过16M,在一个insert命令中插入多条数据时,MongoDB不保证完全成功或完全失败。

想要查看已插入的person文档,可以使用:db.person.find()查看当前库中person集合里的数据。

二、查询

MongoDB中查询检索数据时使用find命令,使用方法如下:

语法:

db.collection.find(criteria,projection);

参数:

criteria – 查询条件,文档类型,可选。

projection– 返回的字段,文档类型,可选,若需返回所有字段,则忽略此参数。

find命令两个可选参数,criteria为查询条件,projection为返回的字段,如果不传入条件数据库会返回该集合的所有文档。

例如:查询出person集合中所有的数据。

db.person.find()

想要查看当前数据库中的集合列表,可以使用:show collections。

三、更新

update命令可以更新指定文档的特定字段值,也可以替换整个文档,如果更新操作会增加文档大小,MongoDB将重新分配空间并重新定位。

语法:

db.collection.update(query,update,upsert:boolean,multi:boolean});

参数:

query:查询条件,文档,和find中的查询条件写法一致。

update:修改内容,文档。

upsert(可选):如果值为true,那么当集合中没有匹配文档时,创建文档。默认false。

multi(可选):如果值为true,那么将更新全部符合条件的文档,否则仅更新一个文档,默认false。

如下示例:将person集合中所有年龄小于30岁的数据,更新其状态为’X’。

db.person.update({age:{$lt:30}},{$set:{status:"X"}},{multi:true})

注:小于的操作符是lt,大于的操作符是 gt

save命令可以更新或插入一个新文档,与update命令不同的是,save只能对一个文档进行操作。

语法:

db.collection.save();

参数:

document:新的文档;

例如:用save命令将文档{name:”Tony”,age:12,gender:”man”}保存到person集合中

db.person.save({name:"Tony",age:12,gender:"man"})

四:删除

需要删除文档时使用remove命令,删除文档可以清理掉不需要的数据,释放存储空间,提升检索效率,但是错误的删除会是一场灾难,因此在执行数据删除操作时需要非常的谨慎!

语法:

db.collection.remove(

query,

justOne

)

参数:

query:BSON类型,删除文档的条件。

justOne:布尔类型,true:只删除一个文档,false:默认值,删除所有符合条件的文档。

下面是一个是将users集合中所有status=”X”的文档删除操作,对比一下MongoDB和传统SQL数据库删除的操作,看看有哪些不同之处。

与传统SQL比较 - 删除文档

MongoDB

db.person.remove({status:"X"})

传统SQL

delete from person where status = ‘X‘
时间: 2024-11-05 15:59:55

MongoDB基础(增、删、改、查)操作的相关文章

怎样从C#中打开数据库并进行 增 删 改 查 操作

首先 在C#中引用数据库的操作! (因为我们用的是SQLserver数据库,所以是SqlClient) using System.Data.SqlClient; 1:要实现对数据库的操作,我们必须先登录数据库 Console.WriteLine("请输入用户名:"); //提示客户输入用户名和密码 string name = Console.ReadLine(); Console.WriteLine("请输入密码:"); string pwd = Console.R

Python---MySQL数据库之四大操作(增 删 改 查)

一.对数据库,表,记录---四大操作(增 删 改 查) 1.操作数据库 (1)对数据库(文件夹):进行增加操作 Create  database  库名; 例:  Create  database  db7 ; 查询库: show  databases; 结果: +-----------------------------+ | Database                   | +----------------------------+ | information_schema | |

nodejs對mongodb數據庫的增刪改查操作

首先要確保mongodb的正確安裝,安裝参照:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-debian-or-ubuntu-linux 然後下載nodejs的mongodb的driver npm install mongodb 編寫一個測試的程序: 1 var mongodb = require('mongodb'); 2 var server = new mongodb.Server('localhost',27017,

ADO.NET 增 删 改 查

ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访问技术的基础 连接数据库基本格式:需要两个类1.数据库连接类 SqlConnection2.数据库操作类 SqlCommand 1.连接数据库写连接字符串,立马就要想到有4点要写完,1.连接哪台服务器,2.连接哪个数据库,3.连接用户名,4.密码string sql = "server=.(服务器i

Java操作MongoDB:连接&增&删&改&查

1.连接 ①方式一 MongoClientOptions.Builder builder = MongoClientOptions.builder(); //可以通过builder做各种详细配置 MongoClientOptions myOptions = builder.build(); ArrayList<ServerAddress> serverAddressList = new ArrayList(); ServerAddress record = new ServerAddress(

数据库基础学习4--表格的 增 删 改 查(简单查询与高级查询)

一.增 C:create 增加,创建,向数据库里面添加数据. insert into Fruit values('K009','苹果',3.0,'高青',90,'') insert into Fruit(Ids,Name,Price,Source,Numbers) values('K010','苹果',3.0,'高青',90) 二.改 U:update修改,从数据库表里面修改数据. update Fruit set Source='烟台' where Ids='K001' 三.删 D:delet

php基础:数据库的含义和基本操作 增 删 改 查

//数据库是帮我们管理数据的一个软件,我们将数据给他,放进数据库里.他能很稳妥的帮我们管理起来,且效率很高.//php的大部分工作就是  php->连接数据库->写入数据->查出数据->格式化数据->显示出来,//数据库管理数据是以表的形式组成的,多行多列,表头声明好了,一个表创建好了,剩下的就是往里面添加数据 多张表放在一个文件夹里面就形成了库  mysql服务器帮我们管理多个库C:\wamp\bin\mysql\mysql5.6.12\data   数据库中的数据放在这个

数据操作:增 删 改 查

1.创建数据库create database 库名gouse 库名go 2.创建表 create table 表名 ( 列名 类型, 列名 类型, 列名 类型 ) 例子: create table one( daihao varchar(10), shuming varchar(50), zuozhe varchar(10), chubanshe varchar(50), shijian datetime) 3.添加行记录 insert into 表名(列名,列名,列名) values('值',

数据库的增,删,改,查的操作示例

public class Test extends AndroidTestCase { private shujuku shu; private SQLiteDatabase db; // 测试方法执行前调用 @Override protected void setUp() throws Exception { // TODO Auto-generated method stub   super.setUp(); shu = new shujuku(getContext()); // 拿到数据库

JavaScriptDOM操作那些事(增 删 改 查)

1.寻找节点 //寻找节点 id方法 document.getElementById(); //标准 //寻找节点层次方法 parentNode().firstChild()和lastChild(): -查找兄弟一个节点 previousSibling -查找后一个节点 nextSibling //根据签名查找节点 document.getElementsByTagName();返回数组 //根据name查找节点 getElementsByName(): 2.创建一个新节点 //elementN