C语言mongodb简介与增加和删除该查

一、简介

  MongoDB
是由C++语言编写的,是1个基于分布式文件存储的开源数据库系统。MongoDB
意在为WEB应用提供可扩张的高性能数据存款和储蓄化解方案。MongoDB
将数据存款和储蓄为1个文书档案,数据结构由键值(key=>value)对构成。MongoDB
文书档案类似于 JSON 对象。字段值能够涵盖别的文书档案,数组及文书档案数组。

  mongodb数据类型:

  

数据类型 描述
String 字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。
Integer 整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。
Boolean 布尔值。用于存储布尔值(真/假)。
Double 双精度浮点值。用于存储浮点值。
Min/Max keys 将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。
Arrays 用于将数组或列表或多个值存储为一个键。
Timestamp 时间戳。记录文档修改或添加的具体时间。
Object 用于内嵌文档。
Null 用于创建空值。
Symbol 符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。
Date 日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。
Object ID 对象 ID。用于创建文档的 ID。
Binary Data 二进制数据。用于存储二进制数据。
Code 代码类型。用于在文档中存储 JavaScript 代码。
Regular expression 正则表达式类型。用于存储正则表达式。

二、操作

一、数据库操作指令

  (一)创制数据库

  命令:use dbname ,例:use test
倘诺数据库test存在则选中test数据库,假设不存在则创制数据库test。

  (2)查看全体数据库

  命令:show dbs

  (3)删除数据库

  命令:db.dropDatabase() 即可删除当前数据库

2、文书档案操作指令

  mongodb中的文书档案相当于关系型数据库中的row,文书档案的数据结构BSON和JSON基本壹样。

  (一)插入文档

  MongoDB 使用 insert() 或 save()
方法向聚集中插入文书档案,语法如下:db.COLLECTION_NAME.insert(document).

  例:db.mycol.insert({name:’test壹’,age:20,sex:’male’}),当中mycol是聚众名称,就算该集合不存在则mongodb会先活动创设。

  

  也足以行使db.COLLECTION_NAME.save(document)插入文书档案,类似于insert,假如钦定了_id字段则更新该_id的文档。

  

  (二)更新文书档案

  mongodb使用update只怕save更新文书档案,update语法:

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)

  query:update的查询条件;

  update:update的靶子和局地立异的操作符(如$,$inc…)等,也能够清楚为sql
update查询内set后边的;

  upsert:可选,这些参数的趣味是,若是不存在update的笔录,是或不是插入objNew,true为插入,暗中认可是false,不插入。

  multi:可选,mongodb
默许是false,只更新找到的第1条记下,假设这几个参数为true,就把按规则查出来多条记下整个翻新。

  writeConcern:可选,抛出非常的级别。

  例:首先插入一条文书档案:db.mycol.insert({name:’test1′,age:1,sex:’male’}),然后再实践更新操作:db.mycol.update({‘name’:’test1′},{$set:{‘sex’:’formale’}})结果如下:

C语言 1

  如果需求修改符合条件的多条文书档案则把multi设为true。例:db.mycol.update({‘name’:’test1′},{$set:{‘sex’:’formale’}},{multi:true})

 

  save方法:通过传播的文书档案来替换已有文书档案。语法格式如下:

db.collection.save(
   <document>,
   {
     writeConcern: <document>
   }
)

  document:文书档案数据,writeConcern:抛出极度的级别。

  

  (三)删除文书档案

  mongodb使用db.col.remove()来删除文书档案,语法结构如下(二.六版本从前):

db.collection.remove(
   <query>,
   <justOne>
)

  二.陆版本之后:

db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)

  query(可选):删除的基准,justOne(可选):假若设置为true或一则只删除一条,writeConcert(可选):抛出尤其的级别。

  例:db.mycol.remove({‘name’:’test1′})

  

  (三)查询文档

  db.COLLECTION_NAME.find()方法以非结构化的主意显示全数数据,db.COLLECTION_NAME.find().pretty()方法以格式化的艺术展现全体数据。除外还有findOne()方法只展现三个文书档案。

  mongodb与关系型数据库where比较:

操作 格式 范例 RDBMS中的类似语句
等于 {<key>:<value>} db.col.find({"by":"菜鸟教程"}).pretty() where by = '菜鸟教程'
小于 {<key>:{$lt:<value>}} db.col.find({"likes":{$lt:50}}).pretty() where likes < 50
小于或等于 {<key>:{$lte:<value>}} db.col.find({"likes":{$lte:50}}).pretty() where likes <= 50
大于 {<key>:{$gt:<value>}} db.col.find({"likes":{$gt:50}}).pretty() where likes > 50
大于或等于 {<key>:{$gte:<value>}} db.col.find({"likes":{$gte:50}}).pretty() where likes >= 50
不等于 {<key>:{$ne:<value>}} db.col.find({"likes":{$ne:50}}).pretty() where likes != 50

  mongodb
AND条件
:mongodb的find()方法能够流传八个键(key),每一种键用逗号,隔离,语法格式如下:

db.col.find({key1:value1, key2:value2}).pretty()

  例:db.mycol.find({‘name’:’tes一’,’sex’:’formale’}).pretty()
,该句的成效类似sql: where name=’test一’ and sex=’formale’,

  mongodb O福睿斯条件:MongoDB O本田CR-V条件语句使用了主要字 $or,语法格式如下:

db.col.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()