mongodb cluster集群环境搭建
https://docs.mongodb.org/manual/tutorial/deploy-shard-cluster/
1. Server1, 2, 3 config server
2. Server8 main server3. Server1-7 shard server
4. Changed in version 2.6: MongoDB enables the text search feature by default. In MongoDB 2.4, you need to enable the text search feature manually to create text indexes and perform text search.
config server:
mongod --configsvr --port 27019 --logpath /usr/local/mongodb/log/configsvr.log --logappend --dbpath /data/configdb --fork
main server:
mongos --configdb 10.0.0.2:27019,10.0.0.3:27019,10.0.0.4:27019 --logpath /usr/local/mongodb/log/mongos.log --fork
# enable database shard
sh.enableSharding("test")
# enable collection shard
sh.shardCollection("test.data", { "name": 1, "key": 1, "_id": 1 } )
# enable text index
db.reviews.createIndex( { comments: "text" } )
db.printShardingStatus()
mongodb 语法
// change column type
db.stock_info.find().forEach( function(obj) {
obj.jrkpj = parseFloat(obj.jrkpj);
obj.zrspj = parseFloat(obj.zrspj);
obj.dqjg = parseFloat(obj.dqjg);
obj.jrzgj = parseFloat(obj.jrzgj);
obj.cjje = parseFloat(obj.cjje);
obj.cjgs = NumberInt(obj.cjgs);
db.stock_info.save(obj);
});
db.stlogs.aggregate(
{
$match : {
"date" : {
$gte: ISODate("2016-04-08T00:00:00.000Z"),
$lt: ISODate("2016-05-01T00:00:00.000Z")
},
"version" : "2.0.2222"
}
},
{
$project :
{
_id:
{
yearmonthday : {$dateToString: {format:"%Y-%m-%d", date: "$date"}},
device_uuid: "$device_uuid",
feedback_type: "$feedback_type",
version: "$version"
}
}
},
{
$group :
{
"_id" : {"date": "$_id.yearmonthday", "feedback_type": "$_id.feedback_type", "version": "$_id.version"}, device_uuids: {$addToSet: "$_id.device_uuid"}
}
}
,
{
$unwind: "$device_uuids"
},
{
$group: { _id: "$_id", uuidCount: { $sum:1} }
},
{
$sort: {"_id.date": -1}
}
)
//类似select distinct(count)功能
db.logs.distinct("uuid",
{"date" : {
$gte: ISODate("2016-04-22T00:00:00.000Z"),
$lt: ISODate("2016-04-24T23:59:59.999Z")
},
"version" : "3.0.1111",
"feedback_type": "type1"
}).length