创建数据库
语法:use DATABASE_NAME
例:use text //创建text数据库
删除数据库
语法:db.dropDatabase()
例:>use runoob //进入数据库
>db.dropDatabase()
{ "dropped" : "runoob", "ok" : 1 }//删除提示
创建集合
db.createCollection(name, options)
例:> db.createCollection("runoob")
{ "ok" : 1 } //创建成功提示
删除集合
db.collection_name.drop()
例:>db.mycol2.drop() //删除集合mycol2
true //删除成功提示
插入文档
语法:db.COLLECTION_NAME.insert(document)
例:>db.col.insert({title: 'MongoDB ',
description: 'MongoDB 是一个 Nosql 数据库',
by: 'Mongo',
url: 'http://www.runoob.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
//查看一下
> db.col.find()
{ "_id" : ObjectId("56064886ade2f21f36b03134"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "Mongo", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
>
也可将集合定义为一个变量
> document=({title: 'MongoDB 学习',
description: 'MongoDB 是一个 Nosql 数据库',
by: 'Mongo',
url: 'http://www.runoob.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
});
执行结果:
{
"title" : "MongoDB 教程",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "菜鸟教程",
"url" : "http://www.runoob.com",
"tags" : [
"mongodb",
"database",
"NoSQL"
],
"likes" : 100
}
> db.col.insert(document)
WriteResult({ "nInserted" : 1 }) //再执行插入语句
跟新文档
语法:
例:>db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) # 输出信息
删除文档
语法:
>db.col.remove({'title':'MongoDB 教程'})
WriteResult({ "nRemoved" : 2 }) # 删除了两条数据
查询文档
语法:
例:> db.col.find().pretty() { "_id" : ObjectId("56063f17ade2f21f36b03133"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
条件操作符
(>) 大于 - $gt
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte
例1:查询likes值大于等于100的所有值db.col.find({likes : {$gt : 100}})
例2:两个条件同时使用db.col.find({likes : {$lt :200, $gt : 100}})
类型操作符的使用
基本概念:
例:获取text.title为string的所有数据db.text.find({"title" : {$type : 2}})
Limit与Skip方法
描述:MongoDB可以用Limit()指定查看的数据条数,用Skip()指定跳过的条数
语法:>db.COLLECTION_NAME.find().limit(NUMBER),
> db.col.find({},{"title":1,_id:0}).limit(2)
{ "title" : "PHP 教程" }
{ "title" : "Java 教程" }
语法:>db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)
>db.col.find({},{"title":1,_id:0}).limit(1).skip(1)
{ "title" : "Java 教程" }
排序
语法:>db.COLLECTION_NAME.find().sort({KEY:1})
>db.col.find({},{"title":1,_id:0}).sort({"likes":-1})
{ "title" : "PHP 教程" }
{ "title" : "Java 教程" }
{ "title" : "MongoDB 教程" }
MongoDB索引
创建索引:>db.collection_name.createIndex(keys, options)
注:options可为1,-1,1 为指定按升序创建索引,如果你想按降序来创建索引指定为 -1 即可。
例1:>db.text.createIndex({"title":1})
例2:>db.col.createIndex({"title":1,"description":-1})
可选参数: