让我们开始学习MongoDB吧!
最近突发想学一下现在热门的一些技术,学了一下发现如果不记笔记,如果不用就会很快忘掉,于是就开始在csdn上写下我的第一篇博客,这些内容是我在"http://www.hubwiz.com/coursecenter"汇智网上学习时记下的,有兴趣的也可以访问这个网站学习,在线提供编程环境,很方便。
MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB的最小存储单位就是文档(document)对象。
数据在MongoDB中以BSON(Binary-JSON)文档的格式存储在磁盘上。
BSON和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。
BSON的优点是灵活性高,但它的缺点是空间利用率不是很理想,BSON有三个特点:轻量性、可遍历性、高效性。
下面就来介绍一下基本语法:
1、简单插入:db.person.insert(document)
如果person不存在,则默认新建。可以把person当做数据库里的表。
document格式例如:{name:"孙建",age:23}
批量插入:db.person.insert( [ { name:"sunjian" },{ name:"huizhiwang" } ] )
基本格式:([{},{},{}])
2、查询文档:db.person.find()
表示查询person下的所有内容
db.person.find( { age:{ $gt:18 } } ).sort( { age:1 } )
{ age:{ $gt:18 } }设定查询条件,$gt:18表示大于18,同理$lt小于等,自己可以百度查一下。
sort( { age:1 } )表示排序修饰,表示以age字段排序。
db.person.find( { age:{ $lt:18 } } , { name:1, address:1 } ).limit(5)
表示查询显示name和address这两个字段。
limit(5)表示限制显示前5行。
当然还有一些查询过滤条件,大家可以网上查一下。
3、更新文档:
语法:db.collection.update(query,update,{upsert:boolean,multi:boolean})
query-查询条件,文档,与find里的查询条件一致。
update-修改内容,文档。
upsert-可选,如果值为true,那么当集合中没有匹配文档时,创建文档。默认false。
multi-可选,如果值为true,那么将更新全部符合条件的文档,否则仅更新一个文档,默认false。
例子:db.person.update( { age:{ $gt:18 } }, { $set:{ name:"sj" } } ,{ multi:true } )
将年龄大于18岁的人命名为 sj
4、保存文档:db.person.save( document )
5、删除文档:db.person.remove( query, justOne )
query-删除条件。
justOne-布尔类型,true:只删除一个文档,false:默认值,删除所有符合条件的文档。