注意
- MongoDB的默认数据库为”db”,该数据库存储在data目录中。
- show dbs //显示所有的数据列表
- 运行”use”命令,可以连接到一个指定的数据库。ex:use local
- 数据库命名规则:小写非空
- 文档:一行类似json形式,key 不能重复;value可以是多种数据类型;
- 集合:多个文档(表格);
- colunm;列,就是一个字段在不同文档(行)中的值;
- 数据库不可以删除;只能清空所有行:drop();
- 数据库的信息是存储在集合中。它们使用了系统的命名空间:dbname.system.*
常用操作
- use lance //没有则创建,有就切换;
- 插入行 (文档):db.lance.insert({“name”:”lance”,”age”:24})
- 删除数据库:先切换到该数据库:use lance;然后:db.dropDatabase
- 删除集合: db.collectionName.drop()
- 插入文档:mongodb使用insert和save方法向集合中插入文档:db.collectionName.insert(document);
- db.test.insert({“name”:”lance”,”age”:24,”date”:”7.18”})//在test集合中插入文档,如果test不存在则插入
- 查看: db.test.find()
{ “_id” : ObjectId(“596d8248908db70f415b580a”), “name” : “lance”, “age” : 24, “date” : “7.18” } - 也可以命名变量然后插入变量 document=({title: ‘MongoDB 教程’,
description: ‘MongoDB 是一个 Nosql 数据库’,
by: ‘菜鸟教程’,
url: ‘http://www.runoob.com‘,
tags: [‘mongodb’, ‘database’, ‘NoSQL’],
likes: 100
}); - 更新集合中的文档
//update
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
ex:
db.lance.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})
//如果要修改符合条件的多条文档:db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})
//save输入以替换
db.lance.save({
"_id" : ObjectId("56064f89ade2f21f36b03136"),
"title" : "MongoDB",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "Runoob",
"url" : "http://www.runoob.com",
"tags" : [
"mongodb",
"NoSQL"
],
"likes" : 110
})
- 移除db.collection.remove(
,
{
justOne: ,
writeConcern:
}
) - 查询 db.col.find({key1:value1, key2:value2}).pretty()
db.col.find(
{
$or: [
{key1: value1}, {key2:value2}
]
}
).pretty() mongodb·中的条件操作符:
(>) 大于 - $gt(>=) 大于等于 - $gte
$ne ———– not equal !=
$eq ——– equal =
ex:db.col.find({“likes” : {$gt : 100}})
type操作符: db.col.find({"title" : {type : 2}})//指定title类型为字符串,更多数据类型及其对应的数字标识参见:http://www.runoob.com/mongodb/mongodb-operators-type.html
- limit()和skip()方法限制数量,和跳过:db.col.find({},{“title”:1,_id:0}).limit(1).skip(1)
- 排序方法:db.COLLECTION_NAME.find().sort({KEY:1})//其中1位升序,-1为降序。ex:db.col.find({},{“title”:1,_id:0}).sort({“likes”:-1})
- 索引创建:db.col.ensureIndex({“title”:1})//可以多列:db.col.ensureIndex({“title”:1,”description”:-1})
- aggregate聚合:数据统计的一系列处理:http://www.runoob.com/mongodb/mongodb-aggregate.html