小编thx*_*ike的帖子

Mongoose 和引用 UUID 数组不转换

使用 mongoose-uuid 库时,我可以为模式设置 UUID 类型,因此当我读取数据时,它采用字符串 (utf-8) 格式,而当我保存数据时,它采用 UUID ObjectID BSON 类型 4 格式。这对于我的架构中的顶级或平面直接值和引用定义非常有效。但是,当我在架构中的引用数组中有 UUID 时,该数组会正确保存到数据库,但是当它呈现时,它是原始类型。根据下面的示例,您可以看到scope_id 以正确的格式显示,但权利却不然。

以下是我正在使用的版本: mongoose-uuid - 2.3.0 mongoose - 5.5.11

我尝试通过更改 getter 和转换值来修改库(mongoose-uuid),但是,当我这样做时,它在呈现时有效,但在保存到数据库时失败。这很可能是由于该值在保存到数据库之前进行了转换或转换。

这是一个示例架构

    {
      "code": {
        "type": String,
        "required": true
      }, 
      "scope_id": {
        "type": mongoose.Types.UUID,
        "ref": "scopes"
      },
      "entitlements": [{
        "type": mongoose.Types.UUID,
        "ref": "entitlements"
      }]
    }

Run Code Online (Sandbox Code Playgroud)

实际响应示例

{
    "entitlements": [
        "zMihi1BKRomM1Q41p7hgLA==",
        "ztOYL7n1RoGA6aoc0TcqoQ=="
    ],
    "code": "APPUSR",
    "scope_id": "b8f80c82-8325-4ffd-bfd7-e373a90e7c45",
    "id": "32e79061-e531-45ad-b934-56811e2ad713"
}
Run Code Online (Sandbox Code Playgroud)

预期反应

{
    "entitlements": [
        "ccc8a18b-504a-4689-8cd5-0e35a7b8602c",
        "ced3982f-b9f5-4681-80e9-aa1cd1372aa1"
    ],
    "code": "APPUSR",
    "scope_id": "b8f80c82-8325-4ffd-bfd7-e373a90e7c45",
    "id": "32e79061-e531-45ad-b934-56811e2ad713"
}
Run Code Online (Sandbox Code Playgroud)

uuid mongoose express mongoose-schema

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

Angular 7,并且不能绑定到“ routerlink”,因为它不是“ a”的已知属性

我正在创建一个新的Angular 7应用,最近几天我一直在研究此问题,但是我无法找到此错误的解决方案“无法绑定到“ routerlink”,因为它不是“一种'”。以下是一些我看过的Angular2异常文章:无法绑定到“ routerLink”,因为它不是一个已知的本机属性,而“ 获取”则无法绑定到“ routerLink”,因为它不是“'一种'。尽管引用了路由器模块仍为 “ no-go” ,但仍存在错误

这是布局:

应用->导航这是代码:

app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { UltiMaterialModule } from './ulti-material/ulti-material.module';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { HttpClientModule } from '@angular/common/http';
import { LayoutModule } from '@angular/cdk/layout';
import { NavigationModule } from './navigation/navigation.module';
import { AppRoutingModule } from './app-routing.module';
import { RouterModule } from '@angular/router';

import { AppComponent } from './app.component';

@NgModule({ …
Run Code Online (Sandbox Code Playgroud)

angularjs-directive angular-ui-router angular angular7

4
推荐指数
2
解决办法
4340
查看次数

无法通过在 Visual Studio Code 中为 Angular 8 项目启动 Chrome 调试器来工作

将 Angular 升级到版本 8 后,我现在无法在 Visual Studio Code 中运行 Chrome 调试器。

我没有改变我的launch.json,它类似于以下内容:

{
  "type": "chrome",
  "request": "launch",
  "name": "Launch Chrome (https)",
  "url": "https://myhost.domain.com:4200",
  "webRoot": "${workspaceFolder}"
},
Run Code Online (Sandbox Code Playgroud)

我通过以下命令启动 Angular 应用程序

ng serve --host myhost.domain.com --ssl --disableHostCheck
Run Code Online (Sandbox Code Playgroud)

这在升级之前已经工作了很长时间。我能够在 Angular 中启动 Chrome 并调试不同的组件。现在它所做的只是声明“未验证的断点”

我尝试了以下方法:

  • 将 webRoot 文件夹位置更改为不同的可能位置。当我提供应用程序时,我确实注意到输出中有一条新消息。( https://myhost.domain.com:4200/webpack-dev-server/ ? ?wds?: webpack 输出来自 / ? ?wds?: 404s 将回退到 //index.html)

  • 卸载和重新安装 Visual Studio Code 扩展

  • 添加 SourceMap:true
  • 使用 ng new test-project 创建一个全新的 Angular 项目并尝试调试这个项目,它也做同样的事情。

这是我的 package.json 的样子:

{
  "name": "my-application",
  "version": "0.7.2",
  "scripts": {
    "ng": …
Run Code Online (Sandbox Code Playgroud)

typescript angular chrome-debugging

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