小编Ma *_*obi的帖子

Google Firestore:过滤子键在给定值之间的文档

我正在开发一个浏览器游戏,我在firestore中有一个集合,如下所示:

{
    title: "doc 1",
    requirements: {
        level: {
            min: 2,
            max: 3
        }
    }
},
{
    title: "doc 2",
    requirements: {
        level: {
            min: 6,
            max: 8
        }
    }
},
{
    title: "doc 3",
    requirements: {
        level: {
            min: 8,
            max: 9
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法查询匹配给定级别的所有文档,就像我的级别为8时我只想获取文档"doc 2"和"doc 3",因为级别要求匹配?

我尝试过类似的东西

ref.where("requirements.level.min", "<=", level);
ref.where("requirements.level.max", ">=", level);
Run Code Online (Sandbox Code Playgroud)

我还尝试将文档中的结构更改为:

{
    title: "doc 1",
    requirements: {
        level: [2, 3]
    }
},
{
    title: "doc 2",
    requirements: {
        level: [6, 7, 8]
    }
} …
Run Code Online (Sandbox Code Playgroud)

javascript google-cloud-firestore

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

如何将 javascript 类构造函数参数动态映射到实例属性

我正在构建一个 Node.js 应用程序(Node v10.11.0)并希望在不使用 Typescript 的情况下以 OOP 方式完成它。所以我建立了一些这样的类:

class Component {
  constructor(param1, param2, param3) {
    this.param1= param1;
    this.param2 = param2;
    this.param3 = param3;
  }
}
Run Code Online (Sandbox Code Playgroud)

我想知道 javascript 中是否有一种方法可以自动映射构造函数的参数,而无需this.param1 = param1为每个构造函数参数编写。

我已经尝试过arguments用这样的东西跑过对象:

constructor(param1, param2, param3) {
  Array.from(arguments).forEach(arg => {
    this[arg] = arg;
  }
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用。这种方法的结果是:

console.log(new Component("arg1", "arg3", "arg3"))

// Component { arg1: "arg1", arg2: "arg2", arg3: "arg3" }
// I want to have this:
// Component { param1: "arg1", param2: "arg2", param3: "arg3" }
Run Code Online (Sandbox Code Playgroud)

javascript oop class node.js

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

标签 统计

javascript ×2

class ×1

google-cloud-firestore ×1

node.js ×1

oop ×1