mongodb简介以及增删该查

一、简介

  MongoDB
是出于C++语言编写的,是一个根据分布式文件存储的开源数据库系统。MongoDB
旨在为WEB应用提供可扩大的强性能数据存储解决方案。MongoDB
将数据存储吗一个文档,数据结构由键值(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 正则表达式类型。用于存储正则表达式。

二、操作

1、数据库操作指令

  (1)创建数据库

  命令:use dbname ,例:use test
如果数据库test存在则选中test数据库,如果未存在则创造数据库test。

  (2)查看有数据库

  命令:show dbs

  (3)删除数据库

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

2、文档操作指令

  mongodb中的文档相当给干项目数据库中之row,文档的数据结构BSON和JSON基本相同。

  (1)插入文档

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

  例:db.mycol.insert({name:’test1′,age:20,sex:’male’}),其中mycol是集名称,如果该集不存在则mongodb会先活动创建。

  

  也堪运用db.COLLECTION_NAME.save(document)插入文档,类似于insert,如果指定了_id字段则更新该_id的文档。

  

  (2)更新文档

  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,只更新找到的第一漫漫记下,如果这个参数为true,就把依规则查下多条记下整个创新。

  writeConcern:可选,抛来好的级别。

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

图片 1

  如果急需修改符合条件的基本上长长的文档则将multi设为true。例:db.mycol.update({‘name’:’test1′},{$set:{‘sex’:’formale’}},{multi:true})

 

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

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

  document:文档数据,writeConcern:抛来特别的级别。

  

  (3)删除文档

  mongodb使用db.col.remove()来删除文档,语法结构如下(2.6版之前):

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

  2.6版本之后:

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

  query(可选):删除的极,justOne(可选):如果安也true或1虽然单纯去一条,writeConcert(可选):抛来异常的级别。

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

  

  (3)查询文档

  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’:’tes1′,’sex’:’formale’}).pretty()
,该句的效能类似sql: where name=’test1′ and sex=’formale’,

  mongodb OR条件:MongoDB OR
条件语句以了重点字 $or,语法格式如下:

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