MongoDB的学习与应用四:MongoDB中的BSON以及CRUD

MongoDB的学习与应用四:MongoDB中的BSON以及CRUD_第1张图片

     BSON

     BSON是在MongoDB中用来存储数据和网络数据交换的一种类JSON的二进制形式的存储格式,简称Binary JSON,相比JSON而言,BSON支持更多、更复杂的数据类型,比如Date和BinData等类型;同样,也兼有很多优点:轻量型、可遍历性、高效性。

    MongoDB使用BSON这种数据结构转化为文档(Document),是因为其schema-free(模式自由)的特性,无需定义任何结构,可以把完全不同结构的文件存储到一个数据库中。如下MongoDB中常见BSON格式的Document样例:
{
    title:"MongoDB",
    last_modified:new Date(),
    last_editor:"jizg",
    content:"test for",
    status:"Deleted"
}


CRUD

    BSON格式的数据在MongoDB中是无处不用的,是最基础的。接下来通过MongoDB自带的shell来看一下数据库必备技能CRUD的使用。假设有个名为blog的数据库,其里边有个名为user的集合(集合相当于表)。现在要往blog的user中插入10个文档(基本属性为uid、userName ),如下:

  代码样例
数据插入操作
insert
1.首先切换到blog数据库: use blog
2.创建user 集合:db.createCollection('user')
3.向集合中插入数据:
for(i=0;i<11;i++){
   db.user.insert({uid:i,userName:'jizg'+i});
}
数据查询操作
find
1. 查询集合所有数据: db.user.find()
2. 查询uid为1的数据: db.user.find({uid:1}) 或 db.user.findOne({uid:1})
3. 不显示_id,按uid降序并只取前5条数据:
db.user.find({}, {_id : 0}).sort({uid : -1}).limit(5)

数据修改操作
update
1. 修改uid为2的数据,修改其userName为lfsfxy9:
db.user.update({uid:2},{$set:{userName:'lfsfxy9'}})

数据删除操作
delete
1. 删除uid为2,name为lfsfxy9的数据:
db.user.remove({uid:2,userName:'lfsfxy9'})
2. 如果不给指令设置参数,则会把user集合的数据全部删除


    当然这是最简单的操作样例,在实际应用中,还会涉及到批量操作以及很多关系型数据库中普遍遇到过的问题。


参考:

  •        Core MongoDB Operations (CRUD)
  •       运用BSON将数据记录转换成二进制






你可能感兴趣的:(MongoDB)