我试图弄清楚如何处理不同环境的变量/常量,例如开发(或调试)和发布。例如,在执行单元测试时,Web 服务的 url 应指向 localhost,但在最终产品中,它应指向公共 api 主机。
我读过一些关于将 Swift Compiler - Custom Flags Debug 设置设置为-DDEBUG然后在代码中声明变量的内容,如下所示:
#if DEBUG
let url = "http://localhost"
#else
let url = "https://api.example.com"
#endif
Run Code Online (Sandbox Code Playgroud)
但这没有用。运行单元测试时,url 永远不会设置为http://localhost。我在这里错过了什么吗?
假设我有一个如下所示的模型:
{ name: String, category: String }
Run Code Online (Sandbox Code Playgroud)
我得到了一个包含这样的对象的数组:
var array = [{
{ name: "a", category: "A" }
, { name: "b, category: "A" }
, { name: "b", category: "B" }
}]
Run Code Online (Sandbox Code Playgroud)
现在我想找到与数组中的值对匹配的所有对象。如果它只是一个字符串数组,代码将类似于Model.find({ name: {$in: array } }),但我需要类似的东西
Model.find({ name,category: {$in: array} })
Run Code Online (Sandbox Code Playgroud)
这可能吗?