我正在加载一个 PDF 文档,我必须使用 PDF-lib 即时修改。
const { PDFDocument } = require('pdf-lib');
Run Code Online (Sandbox Code Playgroud)
该 PDF 文件是使用 Acrobat 构建的,名为 Dental_insurance.pdf。
我尝试通过以下方式加载文件:
const pdfDoc = await PDFDocument.load("/documents/cards/dental_insurance.pdf")
const pdfDoc = await PDFDocument.load("C:/Website/test/desk_routes/documents/cards/dental_insurance.pdf")
const pdfDoc = await PDFDocument.load("./documents/cards/dental_insurance.pdf")
const pdfDoc = await PDFDocument.load("../documents/cards/dental_insurance.pdf")
Run Code Online (Sandbox Code Playgroud)
但无论我如何设置文件所在的路径,我都会收到此错误:
(节点:15196)UnhandledPromiseRejectionWarning:错误:无法解析PDF文档(行:4列:2偏移= 27):找不到PDF标题
我检查了 PDF-lib 文档,他们只声明以下内容来加载文件:
const pdfDoc = await PDFDocument.load("...")
Run Code Online (Sandbox Code Playgroud)
我不认为问题出在 PDF 文件上,因为即使我输入一个不存在的文件,我也会收到相同的错误:
const pdfDoc = await PDFDocument.load("blablabla.pdf")
Run Code Online (Sandbox Code Playgroud)
谢谢。
在我的文档中,我有 _id、公司名称和赞助商(通过 _id 标识父文档)。
例如,我有第一条没有赞助商(父母)的记录
_id:607536219910ef23e80e0bbe
companyname:"Main Company"
sponsor:"
Run Code Online (Sandbox Code Playgroud)
然后是公司 1,其中主公司是母公司:
_id:607e16760a9d2c16e06bc252
companyname:"Company 1"
sponsor:"607536219910ef23e80e0bbe"
Run Code Online (Sandbox Code Playgroud)
公司 2,其中公司 1 是母公司:
_id:607e187b0a9d2c16e06bc253
companyname:"Company 2"
sponsor:"607e16760a9d2c16e06bc252"
Run Code Online (Sandbox Code Playgroud)
公司 3,其中公司 2 是母公司:
_id:607e1f470a9d2c16e06bc254
companyname:"Company 3"
sponsor:"607e187b0a9d2c16e06bc253"
Run Code Online (Sandbox Code Playgroud)
我正在做一场$match来为主要公司带来孩子们的记录
{
sponsor: '607536219910ef23e80e0bbe'
}
Run Code Online (Sandbox Code Playgroud)
然后我 $addFields userid,这是一个转换为字符串的 _Id。这是稍后与赞助商匹配的:
{"userid": { "$toString": "$_id" }}
Run Code Online (Sandbox Code Playgroud)
现在,当我 graphLookup 时,我得到了主公司的子公司(公司 2),但我没有得到公司 3 作为公司 2 的子公司。我只得到了公司 1 和公司 2:
这是我的 graphLookup
{
from: 'pls',
startWith: "$userid",
connectFromField: 'userid',
connectToField: 'sponsor',
as: 'downline',
maxDepth: 100,
restrictSearchWithMatch: {}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。
更新:
正如 Turivishal 下面所说,查询有效,但这些是我期望的结果:
[{ …Run Code Online (Sandbox Code Playgroud) 我有一个 router.post 如下
router.post('/newlead', async (payload, res, next) => {
...
...
...
});
Run Code Online (Sandbox Code Playgroud)
例如,有效负载以 JSON 对象的形式出现在主体上
{
"name": "Danielle",
"age": 26
}
Run Code Online (Sandbox Code Playgroud)
当我发送这样的正文时:
{
"name": "\Danielle",
"age": 26
}
Run Code Online (Sandbox Code Playgroud)
我收到错误
SyntaxError: Unexpected token in JSON at position X.
Run Code Online (Sandbox Code Playgroud)
我在 try{}catch{} 中尝试了 JSON.parse(payload.body) ,但仍然收到错误,就像 try/catch 不存在一样。
POSTMAN 会发生这种情况,但 Angular 应用程序不会发生这种情况。
有没有办法识别此错误并向用户显示消息?
更新:代码太长,无法发布,但这不起作用:
const express = require('express');
const sql = require('mssql');
const router = express.Router();
router.post('/newlead', async (payload, res, next) => {
try{
let test=JSON.parse(payload.body)
console.log("ok")
}
catch(err) {
console.log(err)
return; …Run Code Online (Sandbox Code Playgroud) 我使用以下内容在查询数据库时效果非常好:
let conn = await sql.connect(process.env.connectionSetup)
let recordset = await conn.query("select * from POLICIES where policyid=912")
res.json(recordset)
Run Code Online (Sandbox Code Playgroud)
问题是在添加参数时,为了防止SQL注入:
let conn = await sql.connect(process.env.connectionSetup)
let recordset = await conn.query("select * from POLICIES where policyid=:policy", { policy: 912})
res.json(recordset)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我收到错误
UnhandledPromiseRejectionWarning:RequestError:“:”附近的语法不正确。
我也尝试过利用?但我得到同样的错误。这和无聊有关系吗?!
谢谢。
我有一个表,其中包含来自其他两个表的 ID。那是两个整数。
CustomerId SectionId
====================
1 1
1 2
1 3
2 2
2 3
3 1
3 2
3 3
4 2
4 3
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是那些缺少 SectionId=1 的记录。对于上面的示例,我需要检索 CustomerId 2 和 4。
我不能在 SectionId <> 1 的地方执行 Select customer ID,因为它会给我带来所有记录(1 到 4)。我特别需要那些,独立于他们拥有的 SectionId,缺少 SectionId=1
谢谢。