小编mpc*_*c75的帖子

为什么我得到的是 AggregationCursor 结果而不是平均值?

我正在查询 MongoDB 数据库,但不明白为什么当我期望返回单个数字时却得到聚合器游标。也许我需要从光标对象中获取一些东西?只是想不明白是什么。

module.exports = CalculateAvg = async collection => {
try {
  // const count = await collection.countDocuments({ word: "Hello" });
  // console.log(count) // logs 140, which shows that it is accessing the db correctly
  const cursor = await collection.aggregate([
    { $match: { word: "Hello" } },
    {
      $group: {
        _id: null,
        mean: {
          $avg: "$value" // in the dataset, each doc has a value field which equals a number
        }
      }
    }
  ]);
  console.log(cursor) // logs a large …
Run Code Online (Sandbox Code Playgroud)

mongodb node.js

7
推荐指数
1
解决办法
6285
查看次数

如何创建一个只有屏幕一半高度的 ViewController?

我想要 pageSheet UIModalPresentationStyle segue 的所有功能,但我只希望呈现的 ViewController 显示一半屏幕(请参见下图中的示例)。

在此输入图像描述

我使用 pageSheet modalPresentationStyle 以模态方式呈现它,但它始终以 100% 高度呈现。

我一直无法弄清楚如何限制或修改 ViewController 的高度。我在 SecondViewController 中尝试了以下操作,但没有成功:

import UIKit

class SecondViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        self.preferredContentSize = CGSize(width: self.view.frame.width, height: 400)
    }
} 
Run Code Online (Sandbox Code Playgroud)

我正在使用 Storyboard Segues 和一个以模态方式呈现它的按钮来启动 Segue: 在此输入图像描述

ios swift

6
推荐指数
1
解决办法
8605
查看次数

如何在服务器中运行 headful puppeteer?

我想在我的 Digital Ocean 服务器中使用 Ubuntu 运行 puppeteer headless = false

当我进入 digitalocean.com 上的 Digital Ocean 控制台时,它运行正常(我使用 ubuntu-desktop 作为 GUI,Chromium 实际上会弹出并开始在 GUI 中运行)。

但是,当我 ssh 进入控制台并尝试运行相同的程序时,该程序会一直工作,直到它命中 puppeteer 脚本,并且我从 puppeteer 收到以下错误消息:

Error: Failed to launch the browser process!

Unable to open X display.

NaCl helper process running without a sandbox!

Most likely you need to configure your SUID sandbox correctly

这是我的 puppeteer 配置中的内容:

import puppeteer from "puppeteer";

export const getBrowser = async () => {
  const browser = await puppeteer.launch({
    headless: …
Run Code Online (Sandbox Code Playgroud)

ubuntu digital-ocean puppeteer

6
推荐指数
1
解决办法
1969
查看次数

如何使用 Next.js 仅将某些页面包装在 Context Provider 中?

我想在三个页面之间共享数据(这些是 Web 应用程序的核心),但我也有一堆不关心这些数据的博客页面。我看过的所有地方都建议将 Provider 放在_app.tsx文件中。如果我对MyApp提供者的理解正确,如果有人直接访问www.myurl.com/blog/my-blog-1(来自 google),这将导致提供者运行其功能;即使该页面不会调用 useContext

如何只在 Provider 中包装三页而忽略博客页面?

例如:

这是我的_app.tsx样子:

import { AppProps } from 'next/app'
import '../styles/index.css'

export default function MyApp({ Component, pageProps }: AppProps) {
  return <Component {...pageProps} />
}
Run Code Online (Sandbox Code Playgroud)

reactjs next.js react-hooks use-context

6
推荐指数
2
解决办法
658
查看次数

如何根据多个字段删除 mongodb 中的重复项?

这是我的文档的示例:

[{name:"duplicate", value:true, id:2910921},{name:"duplicate", value:true, id:32838293},{name:"duplicate", value:false, id:3283232},{name:"notDuplicate", value:true, id:382932}]
Run Code Online (Sandbox Code Playgroud)

如果有多个文档包含相同的名称相同的值,我想删除。在上面的示例中,它将删除一个文档,或者{name:"duplicate", value:true, id:2910921}{name:"duplicate", value:true, id:32838293},对我来说哪一个并不重要。

到目前为止,我考虑过为每个字段创建一个新字段,类似于 newField: "duplicatetrue",然后我可以在这些字段上使用不同的字段来删除重复项,但我无法弄清楚如何连接两个字段不同类型的不同字段合并到一个新字段中。我也绝对愿意接受更好的建议。这是我到目前为止所拥有的:

db.collection(collectionName).updateMany({}, {$set: {"newField": ["$name","$value"]  }})
Run Code Online (Sandbox Code Playgroud)

但是,上面的行不输出值,而是准确输出 newField: ["$name","$value"]

从 $name 和 $value 中删除引号也不起作用。

我正在使用 Node mongodb 驱动程序:3.5.8

mongodb node.js mongodb-query aggregation-framework

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

为什么 WebKit 在 cron 中启动时不起作用,但在终端中启动时起作用?

我正在playwright使用 Ubuntu 18.04 在 VPS 上的 WebKit、Firefox 和 Chromium 上启动脚本。在我的 VPS 上使用绝对路径,如果我像这样在终端中键入它,所有三个启动并正常运行cd /home/me/desktop/myCode && /usr/bin/npm run webkit > /home/me/desktop/errors.log 2>&1。这让我觉得我已经从这里正确安装了所有依赖项:https : //github.com/microsoft/playwright/blob/master/docs/docker/Dockerfile.bionic

但是,当我使用完全相同的脚本但通过 cron 时,Firefox 和 Chromium 启动并正常运行,但 Webkit 版本启动(它在启动 WebKit 之前执行异步请求并发生这种情况),但是当 WebKit 尝试启动它时,它会导致整个程序失败. cron 脚本如下所示:

8 14 * * * cd /home/me/desktop/myCode && /usr/bin/npm run webkit > /home/me/desktop/errors.log 2>&1

错误如下所示:

events.js:292 
      throw er; // Unhandled 'error' event
      ^

Error: spawn ldconfig ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
    at onErrorNT (internal/child_process.js:469:16)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)
Emitted 'error' event …
Run Code Online (Sandbox Code Playgroud)

cron webkit playwright

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

为什么 Vercel 无法构建我的 Next.js tsx 应用程序?

当我在本地计算机上运行 npm run build 和 npm start 时,它完美地部署到本地主机,但是当我尝试将完全相同的代码部署到 Vercel 时,出现以下错误:

08:28:16    Failed to compile.
08:28:16    ./pages/index.tsx:5:20
08:28:16    Type error: Cannot find module '../components/layout' or its corresponding type declarations.
Run Code Online (Sandbox Code Playgroud)

这绝对看起来像布局组件的问题,我改变了重要的顺序,并且在尝试加载布局组件时总是失败。这是该组件的代码:

import Alert from "./alert";
import Footer from "./footer";
import Meta from "./meta";

type Props = {
  preview?: boolean;
  children: React.ReactNode;
};

const Layout = ({ preview, children }: Props) => {
  return (
    <>
      <Meta />
      <div className="min-h-screen">
        <Alert preview={preview} />
        <main>{children}</main>
      </div>
      <Footer />
    </>
  );
};

export default Layout; …
Run Code Online (Sandbox Code Playgroud)

next.js vercel

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