小编Le *_*con的帖子

GraphQL 突变中的条件参数?

假设我有一个mutationtypearg 的对象。根据typeI 的值,可以接受mutation另一个arg输入类型,也可以mutation不使用它进行调用。

如何实施graphql?我知道对于查询有@skip指令@include(对于字段,而不是参数)。有类似的东西吗mutations?或者我应该将附加参数指定为可选,然后在服务器上进行验证?

apollo graphql

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

如何在Jest中测试类构造函数

假设我有一个类如下:

class SomeClass {
  constructor(a, b) {
    this.a = a;
    this.b = b;
  }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能通过Jest测试构造函数是否以正确的方式初始化?说... this.a = athis.b = b,而不是相反?

我知道我可以执行,toBeCalledWith但这不会让我检查构造函数的逻辑.我也在考虑制作,mockImplementation但在这种情况下似乎没有意义,因为我将重写逻辑,或者我可能没有意识到创建模拟的所有细微差别

javascript unit-testing jest

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

是否可以构造一个对象,以便在请求其键时抛出错误?

想象一下,我有以下代码:

const object = {};
// an error should be thrown
object.property.someMethod();
// an error should be thrown
object.foo;
Run Code Online (Sandbox Code Playgroud)

someMethod()调用或调用任何其他不存在的属性时是否可能抛出错误?

我想我需要用它的原型做一些事情,抛出一个错误.但是,我不确定我应该做什么.

任何帮助,将不胜感激.

javascript metaprogramming object interceptor

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

如何对 mongodb 中的文档进行排序以使空值出现在最后

假设我的 mongo 文档如下所示:

{
  _id: "some _id",
  name: "some name",
  type: "A" | "B" | "C" | or it may be null
}
Run Code Online (Sandbox Code Playgroud)

当我打电话时,db.getCollection('mycollection').find().sort({ type: -1 })我首先收到文档type: null,因为数据是按规范类型排序的,其中 null 的规范值比数字/字符串的规范值低得多

有没有办法形成查询,以便空值出现在最后?

我发现了这个问题How can I sort into that nulls were last returned in mongodb? 但建议使用聚合并添加“假”值,这对我来说似乎不太好。

如果使用排序条件不为空的已排序文档和排序条件为空的文档形成一个分面,然后连接两个数组,则使用聚合可能会起作用,但当存在多个排序条件时,这可能会变得复杂。

mongodb aggregation-framework

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

出现错误:运行 docker-compose 时未找到 nodemon

我已经对 Node.js 应用程序进行了 docker 化,并创建了一个 docker-compose 文件以与 mongo 一起运行它。我使用 docker 进行开发,因此我需要 nodemon。

这是我的 Dockerfile:

FROM node:carbon-alpine

RUN mkdir -p usr/src/app
WORKDIR /usr/src/app

RUN npm install -g nodemon

COPY package*.json /usr/src/app

RUN yarn install

COPY . /usr/src/app

EXPOSE 3000

CMD [ "yarn", "start-local" ]
Run Code Online (Sandbox Code Playgroud)

这是 docker-compose

version: "3"

services:
  app:
    container_name: app
    restart: always
    build: .
    volumes:
      - .:/usr/src/app
    environment:
      - MONGO_URI=mongodb://mongo:27017/test
    ports:
      - "3000:3000"
    depends_on:
      - mongo
    networks:
      app_net:

  mongo:
    container_name: app-mongo
    image: mongo:3.6.6-jessie
    volumes:
      - ./data:/data/db
    networks:
      app_net:
        aliases: …
Run Code Online (Sandbox Code Playgroud)

node.js docker docker-compose

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