![](/img/trans.png)
[英]Unable to configure MongoDB in Angular application that is using Express and Azure Cosmos DB
[英]Angular Service with Azure Cosmos
我对 Angular 真的很陌生。 我正在尝试创建一个我想在我的 angular 组件中使用的服务。 这样做时,我遇到了错误。
下面是我正在写的代码
import { Injectable } from '@angular/core';
import { HttpClient} from '@angular/common/http';
import { CosmosClient } from '@azure/cosmos';
import {Observable,of} from 'rxjs'
@Injectable({
providedIn: 'root'
})
export class ApiService {
databaseId='dbName';
containerId='Container Name';
constructor() { }
public async getProjects():Promise<Observable<any>>{
const endpoint = "https://AAAA.documents.azure.com:443/";
const key = "==";
const client = new CosmosClient({ endpoint, key });
const database = client.database(this.databaseId);
const container = database.container(this.containerId);
const querySpec = {query: "SELECT * from c where c.Category=\"Details\""};
const { resources:items } = await container.items.query(querySpec).fetchAll();
return of(items);
}
}
非常感谢任何帮助。
每个规则都有一个例外,但是直接从 web 浏览器连接到数据库的用例几乎为零。 这样一来,您就失去了对用户在您的数据库中可以做什么的所有细粒度控制,而撤销访问权限的唯一方法是轮换您的密钥。 您的数据库中目前可能没有任何敏感的内容,但这仍然被认为是不好的做法。
出于这个原因,CosmosDB 库与作为服务器端框架的 NodeJS 兼容。 它是否适用于 Angular 或 React 等前端框架是偶然的。 Angular 在版本 9 中编译项目的方式发生了一些较大的变化,看起来 Cosmos 客户端与新的 Ivy 编译器不兼容。
你在这里有几个选择。
aot: false
来执行此操作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.