菜鸟的mongoDB学习---(三)MongoDB 的增、删、改、查(insert、remove、update、find)

插入 insert

MongoDB中文档的数据结构和JSON基本一样。所有存储在集合中的数据都是BSON格式。BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。

首先我们先选择数据库

> use NewsDB
switched to db NewsDB
>

下面我们先定义一个文档

> document = ({"name":"jingdong","age":"23","profession":"extreme programming","city":"sy"})
{
	"name" : "jingdong",
	"age" : "23",
	"profession" : "extreme programming",
	"city" : "sy"
}
>

之后我们进入今天的主题,向集合中插入文档,插入的方式有两种,一种是插入定义好的文档,另一种是插入未定义的数据。

> db.new.insert(document)
WriteResult({ "nInserted" : 1 })
> db.new.insert({
... "name" : "jingdong",
... "age" : "23",
... "profession" : "extreme programming",
... "city" : "sy"
... }
... )
WriteResult({ "nInserted" : 1 })

之后我们可以通过find函数来查看集合中的文档。

db.new.find()

删除 remove

MongoDB remove()函数是用来移除集合中的数据。

MongoDB数据更新可以使用update()函数。在执行remove()函数前先执行find()命令来判断执行的条件是否正确,这是一个比较好的习惯。

如果你想删除new集合中name为“jingdong”的数据,你就可以执行以下命令

> db.new.remove({"name":"jingdong"})
WriteResult({ "nRemoved" : 2 })

如果你想删除new集合所有的数据,你可以执行以下命令

db.new.remove({})

如果你想删除整个集合你需要使用drop函数,drop函数会返回true或者false。

db.new.drop()

使用dropDatabase()函数删除数据库,执行命令前最好使用db查看一下当前的数据库,确保你删除的数据库是正确的。

db.dropDatabase()

更新update

MongoDB数据更新可以使用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,就把按条件查出来多条记录全部更新。

下面写几个小例子吧,首先先插入两个测试数据。

> db.new.insert({ "name" : "jingdong", "age" : "23", "profession" : "extreme programming", "city" : "sy" } )
WriteResult({ "nInserted" : 1 })
> db.new.insert({ "name" : "nannan", "age" : "23", "profession" : "calc", "city" : "sy" } )
WriteResult({ "nInserted" : 1 })

只更新符合条件的第一条

> db.new.update({"city":"sy"},{$set:{"city":"bj"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

全部更新

> db.new.update({"city":"sy"},{$set:{"city":"bj"}},false,true)

如果没有此属性则添加第一条中

> db.new.update({"city":"sy"},{$set:{"city":"bj"}},true,false)

如果没有此属性则全部都添加

> db.new.update({"city":"sy"},{$set:{"city":"bj"}},true,true)

查询find

可以使用find实现全部查询

> db.new.find()

也可以指定条件查询

> db.new.find({"name":"jingdong"})
时间: 2024-08-08 12:54:25

菜鸟的mongoDB学习---(三)MongoDB 的增、删、改、查(insert、remove、update、find)的相关文章

数据库基础学习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

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

oracle 11g 建库 建表 增 删 改 查 约束

一.建库 1.(点击左上角带绿色+号的按钮) 2.(进入这个界面,passowrd为密码.填写完后点击下面一排的Test按钮进行测试,无异常就点击Connect) 二.建表 1-1. create table 表名1( Tid number(4) --primary key 列级约束(主键), Tname varchar(10) --ont null  非空约束,只能定义在列级约束, Tsex varchar2(2)--check (tsex='男'  or  tsex='女') 检查约束, T

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

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

Android 增,删,改,查 通讯录中的联系人

一.权限 操作通讯录必须在AndroidManifest.xml中先添加2个权限, <uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission> <uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>

js数组的管理[增,删,改,查]

今天在设计表单的时候遇到对数组的一些处理的问题,比如说怎么创建一个数组,然后牵扯到数组的增删改查的方法.请看API FF: Firefox, N: Netscape, IE: Internet Explorer 方法 描述 FF N IE concat() 连接两个或更多的数组,并返回结果. 1 4 4 join() 把数组的所有元素放入一个字符串.元素通过指定的分隔符进行分隔. 1 3 4 pop() 删除并返回数组的最后一个元素 1 4 5.5 push() 向数组的末尾添加一个或更多元素,

MyBatis的配置与使用(增,删,改,查)

---恢复内容开始--- Mybatis入门介绍 一.MyBatis介绍 什么是MyBtis? MyBatis 是一个简化和实现了 Java 数据持久化层(persistence layer)的开源框架,它抽象了大量的 JDBC 冗余代 码,并提供了一个简单易用的 API 和数据库交互. MyBatis 的前身是 iBATIS,iBATIS 于 2002 年由 Clinton Begin 创建.MyBatis 3 是 iBATIS 的全新设计,支持 注解和 Mapper. MyBatis 流行的

网站的增 / 删 / 改 / 查 时常用的 sql 语句

最近在学习数据库 php + mysql 的基本的 crud 的操作,记录碰到的坑供自己参考.crud中需要用到的sql语句还是比较多的,共包括以下几个内容: 查询所有数据 查询表中某个字段 查询并根据id升序排列 新增,在 url 中传参 新增,通过对象传参 删除 分页 修改 表结构: 查询并根据表id排序: //查询表 t_users 的数据并根据表 user_id 升序排列 $sql = "SELECT * FROM `t_users` ORDER BY user_id"; 查询