/**
* author:zhengjinwei
* time: 2016/04/25
**/
var Mongoose = require('mongoose');
var Schema = Mongoose.Schema;
var Async = async = require('async');
var _ = require("lodash");
var dbUrl = "mongodb://127.0.0.1:27017/myDB";
var startDay = new Date("2016-4-20 0:0:0");
var endDay = new Date("2016-4-21 0:0:0");
var levelId = "level_1";
var count = 1000;
var AdventureTable = {
userid: {type: String, default: ""},
score: {type: Number, default: 0},
log_time: {type: Number, default: Date.now},
};
var SchemaOption = {};
var AdventureSchema = new Mongoose.Schema(AdventureTable, SchemaOption);
function connectDB(cb) {
var conn = Mongoose.createConnection(dbUrl);
conn.on('error', function (error) {
console.log(error);
cb(error);
});
conn.once('connected', function () {
console.log("connected success");
cb(null, conn);
});
conn.on('disconnected', function () {
console.log("disconnected");
})
}
AdventureSchema.statics.getData = function (beginDay, endDay, levelId, count, cb) {
var model = this;
var condition = {
log_time: {
$gte: beginDay.getTime(),
$lt: endDay.getTime()
},
level: levelId
};
var view = {
score: 1,
_id: 0
};
model.find(condition, view).sort({score: 1}).limit(count).lean().exec(function (err, docs) {
cb(err, docs);
});
};
function process() {
connectDB(function (err, conn) {
if (!err) {
var model = conn.model("adventure", AdventureSchema);
model.getData(startDay, endDay, levelId, count, function (err, docs) {
if (!err && docs.length) {
console.log("###:", docs.length);
}
});
}
})
}
process();
nodejs mongoose 数据库处理
最新推荐文章于 2021-03-18 14:05:11 发布