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();
相关文章推荐
- Redis源码解析:16Resis主从复制之主节点的完全重同步流程
- 解析如何利用ElasticSearch和Redis检索和存储十亿信息
- 人脸数据库汇总
- mysql删除表数据中某个唯一字段出现重复的数据
- powerdesigner15 生成sql 表名带引号的解决办法
- Sql Server 2008 数据库附加失败提示9004错误解决办法
- PostgreSQL自动安装脚本
- 自定义OS, SQL命令提示符
- 值班记录本
- SQL
- Mysql常用命令集
- mongoDB服务启动
- java对redis2的基本操作
- Redis Stat的安装指南
- 避免使用Oracle的char类型
- oracle查询条件存在中文查询不到结果
- MySQL配置
- 数据库建表时对于字段注意
- SQLServer 时间函数格式转换
- Oracle10g 客户端安装与配置说明