MongoDB 是分布式数据库。
和 mysql 概念区别:
基本操作:
(1)显示数据库:
show dbs
(2) 连接数据库:
use local
(3)显示当前数据库
db
(4)创建数据库(当没有该数据库名时,自动创建)
use stray
(5)插入数据
db.stray.insert({"name": "stray"})
(6) 删除数据库
use stray
db.dropDatabase()
(7) 创建集合
db.createCollection("stu")
创建固定集合 mycol,整个集合空间大小 6142800 KB, 文档最大个数为 10000 个。db.createCollection("mycol", { capped : true, autoIndexId : true, size :
6142800, max : 10000 } )
(8)查看集合
show collections
(9)删除集合
db.stu.drop()
(10)插入文档
db.COLLECTION_NAME.insert(document)
db.stu.insert({title: 'lala',
name: 'zhangsan',
})
(11)更新文档
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})
(12)删除文档
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
(13)查询文档
db.collection.find(query, projection)
OR 条件
db.col.find({$or:[{"by":"菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()
db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()
(14)条件操作符
(>) 大于 - $gt
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<=) 小于等于 - $lte
(15)limit 和 skip
db.COLLECTION_NAME.find().limit(NUMBER)
db.col.find({},{"title":1,_id:0}).limit(2)
使用 limit()方法来读取指定数量的数据外,还可以使用 skip()方法来跳过指定数量的数据,skip 方法同样接受一个数字参数作为跳过的记录条数。以下实例只会显示第二条文档数据
db.col.find({},{"title":1,_id:0}).limit(1).skip(1)
(16)排序
在 MongoDB 中使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。
db.COLLECTION_NAME.find().sort({KEY:1})
(17)索引
db.collection.createIndex(keys, options)
db.col.createIndex({"title":1,"description":-1})
1 为指定按升序创建索引,如果你想按降序来创建索引指定为 -1 即可