MongoDB的基本操作
MongoDB
MongoDB是一个基于分布式文件存储的数据库,由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
MongoDB服务端可运行在Linux、Windows或mac os x平台,支持32位和64位应用,默认端口为27017。
推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。
一、数据库操作
1、创建数据库
use DATABASE_NAME
2、查看所有数据库
show dbs
3、删除数据库
use 需要删除的数据库
db.dropDatabase()
二、集合操作
1、创建集合:在school数据库中创建student集合
use school
db.createCollection("student")
show tables
#switched to db school
#student
2、删除集合:删除学生集合
use school
db.student.drop()
3、显示所有的集合
show tables
或者
show collections
三、文档操作
1、插入文档
db.COLLECTION_NAME.insert(document)
或
db.COLLECTION_NAME.save(document)
eg:在集合student中插入文档。
use school
db.student.insert({name: '张三',
class: '一班',
sex: '男',
age: 10
})
2、更新文档
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
eg:修改数据库school的集合student名字叫张三的文档改为李四。
use school
db.student.update({'name':'张三'},{$set:{'name':'李四'}})
还有save() 方法通过传入的文档来替换已有文档,_id 主键存在就更新,不存在就插入。
db.collection.save(
<document>,
{
writeConcern: <document>
}
)
3、删除文档
db.collection.remove(
<query>,
<justOne>
)
eg:删除名字叫李四的文档。
use school
db.student.remove({'name':'李四'})
4、查询文档
db.collection.find(query, projection)
eg:查询班级是一班的文档。
use school
db.student.find({"class":"一班"})