我有一个看起来像这样的猫鼬模型
var LogSchema = new Schema({
item: {
type: ObjectId,
ref: 'article',
index:true,
},
});
Run Code Online (Sandbox Code Playgroud)
但是 'item' 可以从多个集合中引用。有可能做这样的事情吗?
var LogSchema = new Schema({
item: {
type: ObjectId,
ref: ['article','image'],
index:true,
},
});
Run Code Online (Sandbox Code Playgroud)
这个想法是“项目”可以是来自“文章”集合或“图像”集合的文档。
这是可能的还是我需要手动填充?
我试图在上周获得同一天,所以我可以比较一些分析.
使用时刻我可以轻松地做到这一点
var today = new Date();
//Sunday 4 September 2016 - Week 36
var lastYear = new moment(today).subtract(12, 'months').toDate();
//Friday 4 September 2015 - Week 37
Run Code Online (Sandbox Code Playgroud)
我想要做的是去年获得相同的'星期日',所以星期日在2015年第36周
知道怎么做吗?
使用运行我的节点应用程序的 2 个 Amazon EC2 服务器设置所有内容并正常工作。目前坐在应用程序负载均衡器后面。
我正在使用这样的代码发出套接字消息
const ioredis = require('socket.io-redis');
io = require('socket.io')(server);
io.adapter(ioredis({
host: 'localhost',
port: 6379
}));
io.to('roomName').emit('message', data);
Run Code Online (Sandbox Code Playgroud)
但是,当使用 socket.io 发出消息时,该消息仅从原始节点服务器广播。
服务器 1 发出 socket.io 消息 -> 连接到服务器 1 的任何人都会听到该消息,但连接到服务器 2 的任何人都不会。
服务器 2 发出 socket.io 消息 -> 连接到服务器 2 的任何人都会听到该消息,但连接到服务器 1 的任何人都不会。
我需要帮助的是如何从服务器 1 发出 socket.io 消息并将其中继到所有其他服务器,可能是通过在单独的服务器上使用单个 redis 实例?
或者
有另一个服务器作为套接字发射器,服务器 1 和服务器 2 从中发送和接收套接字消息。
不太确定哪个选项是最好和正确的方法,任何帮助将不胜感激。
node.js ×2
amazon-ec2 ×1
date ×1
javascript ×1
momentjs ×1
mongodb ×1
mongoose ×1
redis ×1
sockets ×1