MongoDB速查手册文档
列出所有的数据库
show dbs
显示当前数据
db
创建或者切换数据库
use mydb
删除数据库
db.dropDatabase()
创建集合Collection
db.createCollection('users')
列出数据库所有集合
show collections
插入一行数据/文档
db.posts.insert({
title: '标题1',
body: '内容',
category: 'news',
tags: ['新闻', '事件'],
user: {
name: '张三',
status: 'author'
},
date: Date()
})
插入多行/文档
db.posts.insertMany([
{
title: 'Post Two',
body: 'Body of post two',
category: 'Technology',
date: Date()
},
{
title: 'Post Three',
body: 'Body of post three',
category: 'News',
date: Date()
},
{
title: 'Post Four',
body: 'Body of post three',
category: 'Entertainment',
date: Date()
}
])
获取所有文档
db.posts.find()
获取所有文档,并且美化输出格式
db.find().pretty()
根据字段查询文档
db.posts.find({ category: 'News' })
文档排序
# 升序
db.posts.find().sort({ title: 1 }).pretty()
# 降序
db.posts.find().sort({ title: -1 }).pretty()
统计文档数量
db.posts.find().count()
db.posts.find({ category: 'news' }).count()
限定文档查询行数
db.posts.find().limit(2).pretty()
链式查询,包括limit,排序
db.posts.find().limit(2).sort({ title: 1 }).pretty()
Foreach迭代
db.posts.find().forEach(function(doc) {
print("Blog Post: " + doc.title)
})
查询一行数据
db.posts.findOne({ category: 'News' })
查询返回指定字段
db.posts.find({ title: 'Post One' }, {
title: 1,
author: 1
})
更新文档
db.posts.update({ title: 'Post Two' },
{
title: 'Post Two',
body: 'New body for post 2',
date: Date()
},
{
upsert: true
})
更改指定字段
db.posts.update({ title: 'Post Two' },
{
$set: {
body: 'Body for post 2',
category: 'Technology'
}
})
数字字段自增操作 ($inc)
db.posts.update({ title: 'Post Two' },
{
$inc: {
likes: 5
}
})
重命名字段
db.posts.update({ title: 'Post Two' },
{
$rename: {
likes: 'views'
}
})
删除文档
db.posts.remove({ title: 'Post Four' })
内嵌文档
db.posts.update({ title: 'Post One' },
{
$set: {
comments: [
{
body: 'Comment One',
user: 'Mary Williams',
date: Date()
},
{
body: 'Comment Two',
user: 'Harry White',
date: Date()
}
]
}
})
查询数组里的元素 ($elemMatch)
db.posts.find({
comments: {
$elemMatch: {
user: 'Mary Williams'
}
}
}
)
添加索引
db.posts.createIndex({ title: 'text' })
文本检索
db.posts.find({
$text: {
$search: "\"Post O\""
}
})
大于/小于查询
db.posts.find({ views: { $gt: 2 } })
db.posts.find({ views: { $gte: 7 } })
db.posts.find({ views: { $lt: 7 } })
db.posts.find({ views: { $lte: 7 } })