您的位置:首页 > 数据库

nodejs mongoose 数据库处理

2016-04-25 12:23 323 查看
/**
* 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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: