不幸的是,TypeORM 似乎没有提供 API 将原始结果从EntityManager.query或转换QueryBuilder.execute为实体。但是,https://github.com/typeorm/typeorm/issues/6803表明您可以使用 TypeORM 内部类,例如PlainObjectToNewEntityTransformer或RawSqlResultsToEntityTransformer。
我都尝试过,但运气不佳。
RawSqlResultsToEntityTransformer
async updateOne(queryConfig: UpdateOne<User>): Promise<User> {
const query: UpdateQueryBuilder<User> = this.createUpdateQuery(queryConfig);
const { raw, affected } = await query.execute();
if (!affected) {
throw new HttpException('Could not update user', HttpStatus.CONFLICT);
}
const queryRunner = this.dataSource.createQueryRunner();
const relationIdLoader = new RelationIdLoader(
this.dataSource.manager.connection,
queryRunner,
query.expressionMap.relationIdAttributes,
);
const relationCountLoader = new RelationCountLoader(
this.dataSource.manager.connection,
queryRunner,
query.expressionMap.relationCountAttributes,
);
const rawRelationIdResults = await relationIdLoader.load(raw);
const rawRelationCountResults = await relationCountLoader.load(raw);
const …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 k3s kubernetes 部署应用程序。目前我在负载均衡器后面有两个主节点,我在将工作节点连接到它们时遇到了一些问题。所有节点和负载平衡器在单独的虚拟机中运行。
负载均衡器是一个 nginx 服务器,配置如下。
load_module /usr/lib/nginx/modules/ngx_stream_module.so;
events {}
stream {
upstream k3s_servers {
server {master_node1_ip}:6443;
server {master_node2_ip}:6443;
}
server {
listen 6443;
proxy_pass k3s_servers;
}
}
Run Code Online (Sandbox Code Playgroud)
主节点通过负载平衡器连接,看起来它按预期工作。
ubuntu@ip-172-31-20-78:/$ sudo k3s kubectl get nodes
NAME STATUS ROLES AGE VERSION
ip-172-31-33-183 Ready control-plane,master 81m v1.20.2+k3s1
ip-172-31-20-78 Ready control-plane,master 81m v1.20.2+k3s1
Run Code Online (Sandbox Code Playgroud)
但是,工作节点会产生有关 SSL 证书的错误吗?
sudo systemctl status k3s-agent
? k3s-agent.service - Lightweight Kubernetes
Loaded: loaded (/etc/systemd/system/k3s-agent.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2021-01-24 15:54:10 UTC; 19min ago …Run Code Online (Sandbox Code Playgroud) 我计划开始制作我的第一个大型网络项目。我目前正试图将一切可视化,但有些技术将在运行中学习。我最近学习了 JavaScript 并学习了一些 Node.js。
我想用 java 创建一个连接到 Mysql 数据库的 REST API。在做了一些不必要的研究之后,我发现了一个对我来说似乎很大胆的声明。那node.js可以在某种程度上完全取代java作为后端吗?
据我所知,Node.js 是一个基于 chromes JavaScript 引擎的运行时环境,带有一些库,如 NPM。(我还需要进一步研究)
这是一个很长的介绍,我的问题的核心是:在我的案例中,Node.js 能否取代 Java?如果可以,为什么以及如何取代?
我有一个服务器应用程序,有两个部署,一个用于临时环境,另一个用于生产环境。我有两个单独的脚本负责启动进程。我想通过读取环境文件来合并start_production.sh并start_staging.sh进入。start.sh
start_production.sh
#!/bin/bash
pm2 delete production
pm2 start "npm run build && npm run start:prod" --name production --log-date-format 'DD-MM HH:mm:ss.SSS'
pm2 logs
Run Code Online (Sandbox Code Playgroud)
检查内容,两个脚本之间的唯一区别是进程名称空间应始终与环境文件相对应。这使得加载该.env属性成为理想选择NODE_ENV
.env
NODE_ENV=staging
Run Code Online (Sandbox Code Playgroud)
最终我想做一些类似的事情
start.sh
#!/bin/bash
ENVIRONMENT={read NODE_ENV content of .env}
pm2 delete echo $ENVIRONMENT
pm2 start "npm run build && npm run start:prod" --name echo $ENVIRONMENT --log-date-format 'DD-MM HH:mm:ss.SSS'
pm2 logs
Run Code Online (Sandbox Code Playgroud)
很明显,我在 bash 脚本方面绝对是新手,所以我想要一个尽可能具体的答案。
我将提供一个解决方案,该解决方案是基于两个当前答案的聚合解决方案
start.sh
#!/bin/bash
source .env
ENVIRONMENT="$NODE_ENV"
if [ "$ENVIRONMENT" != "production" ] && [ …Run Code Online (Sandbox Code Playgroud) 我在javascript中自己实现forEach,其唯一目的是更好地理解语言.更具体地说,临时目标是更好地理解回调.
这是我到底有多远,直到我卡住了.
function myForEach(array, callback) {
for (let i = 0; i < this.length; i++) {
callback(array[i]);
}
}
function callback(element) {
console.log(element); //insert logic
}
const array = [2, 4, 6, 8, 10];
arr.myForEach(array, callback(element));Run Code Online (Sandbox Code Playgroud)
在节点中运行时出现以下错误:
ReferenceError: element is not defined
at Object.<anonymous> (C:\Users\Jonas\Desktop\FLEXBOX\test.js:54:31)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Function.Module.runMain (module.js:694:10)
at startup (bootstrap_node.js:204:16)
at bootstrap_node.js:625:3
Run Code Online (Sandbox Code Playgroud)
我怀疑这是因为在调用函数时,不会创建在回调函数中作为参数给出的元素.这是有道理的,但是调用时真正的forEach循环不会传入已创建的值吗?
arr.forEach((element /*does not exist yet?*/) => {
console.log(element);
});
Run Code Online (Sandbox Code Playgroud)
我也试过用lambda调用方法,但也没有得到正确的结果.但是一个不同的错误
arr.myForEach(array, …Run Code Online (Sandbox Code Playgroud) 是否可以在 kotlin 循环中继续 n 次?
for(i in 0..n){
doSomething()
if(condition){
//manipulate n
}
}
Run Code Online (Sandbox Code Playgroud)
由于i出于某种原因是一个 val 我似乎无法在循环中重新初始化它。
我创建了一些代码来使用 node.js 后端的 python 函数。当在我的 ubuntu 计算机上运行它时,它可以工作 - 但是!当在他的 Windows 机器上运行代码时,它会给出这个堆栈跟踪。
events.js:174
throw er; // Unhandled 'error' event
^
Error: spawn python ENOENT
at Process.ChildProcess._handle.onexit (internal/child_process.js:240:19)
at onErrorNT (internal/child_process.js:415:16)
at process._tickCallback (internal/process/next_tick.js:63:19)
at Function.Module.runMain (internal/modules/cjs/loader.js:757:11)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
Emitted 'error' event at:
at Process.ChildProcess._handle.onexit (internal/child_process.js:246:12)
at onErrorNT (internal/child_process.js:415:16)
[... lines matching original stack trace ...]
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
Run Code Online (Sandbox Code Playgroud)
这是node.js 文件
const spawn = require("child_process").spawn;
const pythonProcess = exec('python',["./script.py", 2, 4]);
pythonProcess.stdout.on('data', function(data) {
console.log(data.toString('utf-8'))
} )
Run Code Online (Sandbox Code Playgroud)
这是 …
IO包中有许多不同的类,有些似乎只有微妙的区别。如果要将一些字符串写入文本文件,然后读取它们以备后用。您将为这两个目的使用哪种类,为什么?
这是我create_user_table在 Node.js 项目中的迁移。
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => {
return queryInterface.createTable("comments", {
content: {
type: Sequelize.STRING(20),
allowNull: false
},
lastName: {
type: Sequelize.STRING(20),
allowNull: false
}
})
},
down: (queryInterface, Sequelize) => {
return queryInterface.dropTable("comments")
}
};
Run Code Online (Sandbox Code Playgroud)
运行sequelize db:migrate后,结果如下:
sequelize db:migrate
Sequelize CLI [Node: 10.15.2, CLI: 5.4.0, ORM: 5.8.5]
Loaded configuration file "config/config.json".
Using environment "development".
== 20190507193540-create_comment_table: migrating =======
== 20190507193540-create_comment_table: migrated (0.021s)
== 20190507195058-create_user_table: migrating =======
== 20190507195058-create_user_table: migrated (0.011s)
Run Code Online (Sandbox Code Playgroud)
当我describe …
如果有人拥有 BCrypt 的加密功能,并加密密码字典并将它们存储在 cd 上。获取对数据库中散列密码的访问权限,他们不应该这样做吗?
我希望答案是否定的。如果是这样,为什么不呢?
javascript ×3
java ×2
node.js ×2
bash ×1
bcrypt ×1
ca ×1
continue ×1
database ×1
deployment ×1
encryption ×1
enoent ×1
file ×1
foreach ×1
hash ×1
io ×1
k3s ×1
kotlin ×1
kubernetes ×1
loops ×1
migrate ×1
nginx ×1
pm2 ×1
postgresql ×1
scripting ×1
sequelize.js ×1
spawn ×1
ssl ×1
typeorm ×1
typescript ×1
verification ×1
web ×1