对库TEST下的LOG聚集集合中的inserttim字段加索引
步骤(注意:前四步步骤不能错,错了不行):
一,打开F:mongodbinmongo.exe,也可以用cmd命令指到这个exe执行,效果一样
二,use admin
三,db.auth("username","pwd")
注意大小写区分,还要注意要有双引号.
四,use TEST(库)
五,db.LOG.ensureIndex({name: 1})。这个LOG是TEST库下的子对象。1代表升序-1代表降序。
六:其他这里可能用到的命令
基本事例:
MongoDb 命令查询所有数据库列表
CODE:
> show dbs
如果想查看当前连接在哪个数据库下面,可以直接输入db
CODE:
> db
Admin
想切换到test数据库下面
CODE:
> use test
switched to db test
> db
Test
想查看test下有哪些表或者叫collection,可以输入
CODE:
> show collections
system.indexes
1、创建一个聚集集合(table)
db.createCollection(“collName”, {size: 20, capped: 5, max: 100});
2、得到指定名称的聚集集合(table)
db.getCollection("account");
3、得到当前db的所有聚集集合
db.getCollectionNames();
4、显示当前db所有聚集索引的状态
db.printCollectionStats();
5、查询聚集集合记录数及内容:
use TEST(库)
db.LOG.find().count();记录数
db.LOG.find();记录内容
查询出表FLWHEAD中SystemName值为Corp的记录数(注意大小写)
db.FLWHEAD.find({"SystemName":"Corp"}).count()
6、获取表对应的索引。
db.LOG.getIndexes()
以下命令这个比较全:
http://blog.163.com/zsq303288862@126/blog/static/9374596120126149237389/
SQL查询:
db.getCollection('FLWHEAD').aggregate([
{ "$match": { InsertTime: { $gte: ISODate("2018-11-01T00:00:00Z")} , LonginName: { $eq: '001274' } , ButtonName: { $eq: '登录' } } },
{$group :
{
_id :
{
"LonginName": "$_id.LonginName",
"campaign_name": "$_id.campaign_name"
},
LN : {$max : "$InsertTime"} ,
"count": { "$sum": 1 } }
}
])
第一大括号中:"$match": 中跟的是过滤条件。
第二大括号中:$group : 中_id:后为分组字段,LN为别名,可加双引可不加