小编Thi*_*o P的帖子

$ facet如何改善$ lookup性能

问题

我最近参加了一次技术聚会,并向经验丰富的开发人员展示了我的一些代码。他评论说,由于这些原因,我的管道会遇到问题$lookup,我应该考虑使用$facet此方法来解决此问题。

我不记得他说过我会遇到什么问题,也$facet无法帮助解决它。我认为这与16mb文件限制有关,但这可以通过使用$unwindafter 来解决$lookup

我的代码(Node.js)

我有一些Post文件。一些帖子是父帖子,其他帖子是评论。发表评论的帖子通过其parent属性不是NOT 来标识null

我的目标是返回一组最新的父帖子,并将其附加到每个帖子上,这是一个int属性,它是其具有的评论数。

这是我的Post猫鼬图式

const postSchema = new mongoose.Schema({
    title: { type: String, required: true, trim: true },
    body: { type: String, required: true, trim: true },
    category: { type: String, required: true, trim: true, lowercase: true },
    timestamp: { type: Date, required: true, default: Date.now },
    parent: { type: mongoose.Schema.Types.ObjectId, ref: 'Post', …
Run Code Online (Sandbox Code Playgroud)

join mongoose mongodb node.js aggregation-framework

5
推荐指数
1
解决办法
1318
查看次数

修复了溢出视口时模式不会滚动的问题

问题

我制作了一个固定模式来显示页面的主要内容。模式的内容的高度可能最终大于视口,因此需要滚动,但它不起作用。

模态的内容

模态内有

  1. 带有灰色背景的空覆盖/背景div,占据模式的整个宽度和高度。
  2. 内容本身的高度最终可能大于视口。

JS小提琴

这是一个 JS Fiddle 演示了这个问题。我添加了边框颜色以更好地帮助区分各个元素。

https://jsfiddle.net/mLjs49ms/7/

html css scroll modal-dialog css-position

3
推荐指数
1
解决办法
5821
查看次数

winstonjs 获取使用 winston.createLogger(...) 创建的记录器


温斯顿提供的问题winston.loggers.get("logger name")是为了获得记录器。如何使用winston.createLogger(options) (它没有名称)创建记录器

为什么我问
我已经使用 在文件中创建了一个记录器winston.createLogger(options),然后使用 导出创建的记录器module.exports

我想在我的应用程序中使用这个记录器,但每次我都会调用require("")createLogger(options),因此每次都会创建一个新的记录器。

代码示例

const winston = require('winston');

// this logger does not have a name!
// Thus, how do I get it.
const logger = winston.createLogger({});


module.exports = logger;
Run Code Online (Sandbox Code Playgroud)

javascript logging node.js winston

2
推荐指数
1
解决办法
2666
查看次数