创建数据库
>use DATABASE_NAME
要检查当前选择的数据库使用命令 db
>db
如果想查询数据库列表,那么使用命令 show dbs.
>show dbs
删除数据库
MongoDB db.dropDatabase() 命令用于删除现有的数据库
>db.dropDatabase()
创建集合
>db.createCollection(name, options)
删除集合
MongoDB 的 db.collection.drop() 用于从数据库中删除集合。
>db.COLLECTION_NAME.drop()
插入文档
>db.COLLECTION_NAME.insert(document)
>db.mycol.insert({
_id: ObjectId(7df78ad8902c),
title: 'MongoDB Overview',
description: 'MongoDB is no sql database',
by: 'yiibai tutorials',
url: 'http://www.yiibai.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
查询文档
>db.COLLECTION_NAME.find()
>db.mycol.find().pretty()
AND 在 MongoDB
>db.mycol.find({key1:value1, key2:value2}).pretty()
OR 在 MongoDB
>db.mycol.find(
{
$or: [
{key1: value1}, {key2:value2}
]
}
).pretty()
使用 AND 和 OR 在一起
>db.mycol.find("likes": {$gt:10}, $or: [{"by": "yiibai tutorials"}, {"title": "MongoDB Overview"}] }).pretty()
{
"_id": ObjectId(7df78ad8902c),
"title": "MongoDB Overview",
"description": "MongoDB is no sql database",
"by": "yiibai tutorials",
"url": "http://www.yiibai.com",
"tags": ["mongodb", "database", "NoSQL"],
"likes": "100"
}
>
更新文档
>db.COLLECTION_NAME.update(SELECTIOIN_CRITERIA, UPDATED_DATA)
默认情况下,MongoDB将只更新单一文件,更新多,需要一个参数 'multi' 设置为 true。
>db.mycol.update({'title':'MongoDB Overview'},{$set:{'title':'New MongoDB Tutorial'}},{multi:true})
MongoDB Save() 方法
>db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA})
删除文档
>db.COLLECTION_NAME.remove(DELLETION_CRITTERIA)
只删除一个
如果有多个记录,并要删除仅第一条记录,然后在 remove()方法设置参数 justOne 。
>db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)
删除所有文件
如果没有指定删除条件,则MongoDB将从集合中删除整个文件。这相当于SQL的 truncate 命令。
>db.mycol.remove()
>db.mycol.find()
MongoDB投影
>db.COLLECTION_NAME.find({},{KEY:1})
限制文档
>db.COLLECTION_NAME.find().limit(NUMBER)
除了 limit()方法还有一个方法 skip()也接受数字类型参数并用于跳过文件数。
>db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)
文档排序
>db.COLLECTION_NAME.find().sort({KEY:1})
MongoDB索引
>db.COLLECTION_NAME.ensureIndex({KEY:1})
MongoDB 聚合
>db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)