Показаны сообщения с ярлыком Mongodb. Показать все сообщения
Показаны сообщения с ярлыком Mongodb. Показать все сообщения

воскресенье, 8 сентября 2019 г.

RocketChat upgrade from 0.X.X to 1.3.2 version

https://rocket.chat/docs/installation/manual-installation/mongo-replicas/
add replica to config file /etc/mongodb.conf
replication:
  replSetName: "rs01"
systemctl restart mongod
mongo > 
rs.initiate()
Note “ok” value should be 1 in result output
Add this to the Environment line:
export MONGO_OPLOG_URL=mongodb://localhost:27017/local?replSet=rs01
to /etc/init.d/rocketchat in my case

Reload systemd state and restart Rocket.Chat:
systemctl daemon-reload && systemctl restart rocketchat
If you use mongo authentication you have to add roles


вторник, 12 марта 2019 г.

Python Mongodb examples

1) count of hits within day

db.aclog.find().limit(1)
{ "_id" : ObjectId("5c8668883896e834e079d372"), "ip" : "74.208.58.75", "datetime" : "06/Mar/2019:06:25:15 +0000", "getpost" : "GET /wppluginfile/defscript HTTP/1.0", "status" : "200", "sbyte" : "31", "refer" : "-", "agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36", "loadtime" : "0.011" }


from pymongo import MongoClient
import pprint

conn = MongoClient()
db = conn.accesslog
coll = db.aclog

pipeline = [{"$project": {"_id": 0, "day_of_month": {"$substr": ["$datetime", 0, 2]}}},
    {"$group": {"_id": {"day_of_month": "$day_of_month"}, "hits": {"$sum": 1}}},
    {"$sort": {"hits": -1}}
]

pprint.pprint(list(db.aclog.aggregate(pipeline)))

conn.close()

result
[{'_id': {'day_of_month': '05'}, 'hits': 157148},
 {'_id': {'day_of_month': '06'}, 'hits': 61932}]

"$substr": ["$datetime", 0, 2] - cut the date from "06/Mar/2019:06:25:15 +0000"