CRUD

insert
insert_one()
insert_many()
insert()
query
find()
find_one()
find_one_and_delete()
find_one_and_replace()
find_one_and_update()
全部选择
{}
选择某字段等于某值
cursor = db.inventory.find({“status”: “D”})
or关系查询
.find({“status”:{“$in”:[“A”, “D”]}})
and
.find({“status”: “A”,  “qty”: {“$lt”: 30}})
or
.find({“$or”: [{“status”: “A”}, {“qty”: {“$lt”: 30}}]})
update
.update_one()
.update_many()
.replace_one()
delete
delete_one()
delete_many()

用户管理

create superuser
db.createUser({user:”superuser”, pwd:”pwd”, roles:[“root”]})
update pwd
db.runCommand({updateUser:”username”,pwd:”xxx”, customData:{title:”xxx”}})
query userinfo
db.runCommand({usersInfo:”userName”})
change pwd
db.changeUserPassword(“username”,”xxx”)
create user
db.createUser({user:”oneUser”,pwd:”12345″, roles:[role:”read”,db:”db01″},{role:”read”, db:”db02″}]})
query the user grant
db.runCommand({usersInfo:”userName”,showPrivileges:true})
sign in use new username
mongo –host xxx -u adminUserName -p userPassword –authenticationDatabase admin
db.createUser({user:”adminUserName”,pwd:”userPassword”,roles:[{roles:”userAdminAnyDatabase”,db:”admin”}]})

从Bson中恢复数据

mongorestore –db –collection .bson

aggregation

db.col.aggregate([
{$match:{}},
{$group:{_id:”$cust_id”, total:{$sum:”$amount”}}}
])
$match $sort 可以利用索引
如果聚合只需要子集,在管道开头要用
$match $limit $skip
除了$out $geoNear 其他可以出现多次
参考
$collStats
$project
$match
$redact
$limit
$skip
$unwind
$group
$sample
$sort
$geoNear
$lookup
$out
$indexStats
$facet
$bucket
$bucketAuto
$sortByCount
$addFields
$replaceRoot
$count
$graphLookup

基本操作

check version
db.version()
创建数据库 use dbname
显示当前数据库 db
查看所有数据库 show dbs
创建了新的数据库后,要插入一点数据,然后才能查看到。
删除当前数据库 db.dropDatabase()
删除集合 db.collection.drop()
插入文档 db.coname.insert(document)
查看已插入文档 db.coname.find()
更新文档 db.collection.update()
删除文档 db.collection.remove()
查询文档 db.collection.find().pretty()
小于 $lt
小于等于 $lte
大于 $gt
大于等于 $gte
不等于 $ne
限制查询数量 db.collection.find().limit()
跳过指定数量 db.collection.find().skip()
db.col.find({},{"title":1,_id:0}).limit(2)

补充说明:

  • 第一个 {} 放 where 条件,为空表示返回集合中所有文档。
  • 第二个 {} 指定那些列显示和不显示 (0表示不显示 1表示显示)。
当查询时同时使用sort,skip,limit,无论位置先后,最先执行顺序 sort再skip再limit。
排序
db.COLLECTION_NAME.find().sort({KEY:1})
1 为升序排列,而-1是用于降序排列
创建索引
db.COLLECTION_NAME.ensureIndex({KEY:1})

语法中 Key 值为你要创建的索引字段,1为指定按升序创建索引,如果你想按降序来创建索引指定为-1即可。

sum
avg
min
max
push
addToSet
first
last
修改器
$inc
$set
$unset
$push
$pushAll
$addToSet
$pop
$pull
$pullAll
$rename
$bit
查询条件
$lt
$lte
$gt
$gte
$all
$mod
$ne
$in
$nin
$nor
$or
$size
$type
//创建索引 db.demo.ensureIndex({‘a’:1});
//创建子文档索引 db.demo.ensureIndex({‘a.b’:-1});
//创建复合索引 db.demo.ensureIndex({ “a”:1,”b”:-1 });
//在MongoDB中,1表示升序,-1表示降序
//重新索引,一般是修改索引后重新索引操作 db.demo.reIndex();
//删除索引 db.demo.dropIndexes();

关闭mongodb服务

use admin
db.shutdownServer()
分类: 数据库

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。