Опубликовать в мангусте схему с массивом объектов

Попробовав textract (который, казалось, слишком много зависимостей) и pypdf2 (который не смог извлечь текст из pdf-файлов, которые я тестировал) и tika (который был слишком медленным), я закончил использование pdftotext из xpdf (как уже предлагаемый в другом ответе) и просто вызвал двоичный код из python напрямую (вам может понадобиться адаптировать путь к pdftotext):

import os, subprocess
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
args = ["/usr/local/bin/pdftotext",
        '-enc',
        'UTF-8',
        "{}/my-pdf.pdf".format(SCRIPT_DIR),
        '-']
res = subprocess.run(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output = res.stdout.decode('utf-8')

Существует pdftotext , который в основном делает то же самое но это предполагает pdftotext в / usr / local / bin, тогда как я использую это в AWS лямбда и хочу использовать его из текущего каталога.

Btw: для использования этого на лямбда вам нужно поставить двоичный и зависимость от libstdc++.so в вашей лямбда-функции. Мне лично нужно было компилировать xpdf. Поскольку инструкции для этого взорвут этот ответ, я поместил их в свой личный блог .

0
задан Konstantinos Ks 15 January 2019 в 18:16
поделиться

1 ответ

создавая объект, создавайте его следующим образом

router.post('/graphs', (req, res) => {

const graph = new Graph({
 nodes:[{id:req.body.nodes.id}],
 links:[{source: req.body.source, target: req.body.target}]
}); // you need to include your data inside the instance of the model when you create it that was the problem.. It should work fine now

В своем коде вы фактически не создаете массив, который вы определили в своей схеме. Так что в соответствии с вашей схемой, как указано выше, а затем сохранить. ниже

graph.save((err) => {
if(err) {

res.status(500).json({ message: 'internal error' });
throw err;
}else{
res.send({ message: 'saved...' });
}

})
});

именно так вы в данный момент разместили вопрос ... поэтому ответ для этого действителен, но я предполагаю, что этого должно быть достаточно для того, чтобы вы выяснили, в чем проблема .. [ 114]

0
ответ дан THEWOLF 15 January 2019 в 18:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: