注册账号登录
小k
...
关注

nodejs+express+mongoDB知识点记录

分页查询(limit、skip、sort)

limit()指定查询结果数量

db.COLLECTION_NAME.find().limit(NUMBER)

skip()指定查询偏移量

db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)

sort()实现查询结果排序

db.COLLECTION_NAME.find().sort({KEY:1})
3条评论

nodejs配合使用redis

var redis = require ('redis');
var redisClient = redis.createClient ();

redisClient.on ('error', function (err) {
console.log ('Error ' + err);
});

redisClient.set ('uid', String (user._id)); //uid存入缓存redis
redisClient.expire ('uid', 60 * 60 * 24 * 7); //uid 过期时间

//取对应key的缓存值
redisClient.get ('uid', function (err, val) {
if (!val) {
return next (new Error ('uid不存在'));
}
});

回复

sokect.io的使用

服务端

const socketio = require ('socket.io');

socket = server => {
const io = socketio.listen (server);
io.on ('connection', function (socket) {
// to do somethings
// let token = socket.handshake.query.token;
console.log ('connection socket');

// // 使用计时器向客户端发送数据
setInterval (() => {
socket.emit ('msg', new Date ().getTime ());
}, 1000 * 60);
});
};

module.exports = socket;

客户端


import io from 'socket.io-client';
import config from '../config';

const socket = io (config.socketUrl, {
// 是否自动重新连接
reconnection: true,
// 自动重连10次后放弃
reconnectionAttempts: 15,
// 自动重连间隔时间
reconnectionDelay: 3000,
// 发送参数给服务器,服务端获取参数 socket.handshake.query
query: {
accessToken: '1212312',
},
});

socket.on ('connect', () => {
console.log ('connected!');
});

socket.on ('msg', (...msgs) => {
console.warn (msgs);
});



回复

mongoose的条件查询符号

“$lt” 小于
“$lte” 小于等于
“$gt” 大于
“$gte” 大于等于
“$ne” 不等于


如何使用
Model.find({'age':{ '$get':18 , '$lte':30 } } );
5月23日1 人赞
回复