mongodb的初步使用

一.mongodb简介

  MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
  MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构
非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类
似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。  特点:高性能、易部署、易使用,存储数据非常方便。

二.常见的增删改查操作

  2.1库操作

1.创建库(也是切换库,当没有这个库就创建这个库)  

> use local
switched to db local

2.查看所有库

> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB

3.查看当前库

> db
local

4.查看库状态

l> db.stats()

{
"db" : "dajiba",
"collections" : 1,
"views" : 0,
"objects" : 1,
"avgObjSize" : 36,
"dataSize" : 36,
"storageSize" : 16384,
"numExtents" : 0,
"indexes" : 1,
"indexSize" : 16384,
"fsUsedSize" : 18738225152,
"fsTotalSize" : 64428584960,
"ok" : 1
}

5.刚创建的库没有信息不会在库列表显示,库有信息才有显示

库插入:db.表名/集合名.inset({bson格式数据})

> db.dajiba.insert({'name':'tom'})
WriteResult({ "nInserted" : 1 })

6.查看库中的表/集合

show tables

show collections

> show tables
dajiba
> show collections
dajiba

7.删库跑路

> db.dropDatabase()
{ "dropped" : "dajiba", "ok" : 1 }

删除的是当前库

  

  2.2集合操作

1.创建库
> use blog switched to db blog
2.往库中的article这个表/集合插入数据(会帮你帮article这个表/集合创建好) > db.article.insert({"title":"python"}) WriteResult({ "nInserted" : 1 }) > db.article.insert({"title":"linux"}) WriteResult({ "nInserted" : 1 }) 3.查看所有的表/集合
> show tables; article
#删处集合/表 > db.article.drop() true > show tables; >

4.查看表中所有的数据
  db.表名/集合名.find()
 
db.数据表.findOne() //查询数据表的第一条数据
 

  2.3文档操作指令

(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'}})

如果需要修改符合条件的多条文档则把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>
)

 

猜你喜欢

转载自www.cnblogs.com/tjp40922/p/10473394.html