const http = require('request-promise')
, path = require('path')
, fs = require('fs')
, options = {
uri: undefined,
headers: { /**/ }
}
const makeRequest = async () => {
const videos = await getVideos()
await uploadVideos(videos)
process.exit()
}
return makeRequest()
.catch(e => {
console.log(e)
process.exit(0)
})
/**
* Тут к примеру парсим документ и получаем массив ссылок на видео
*/
function getVideos() {
return [ 'https://...video', 'https://...video2' ]
}
function uploadVideos(request) {
return Promise.all(request.map(async (video) => {
options.uri = video
return http.get(options)
.then(e => {
return fs.writeFileSync(path.join('/var/www/site/upload', 'name_file.mp4'), e)
})
}))
}
exports.get = (request, response, next) => {
const makeRequest = async () => {
const e = {};
e.params = await getParams(request)
e.photos = await getPhotos(e.params)
return response.send(e)
}
return makeRequest()
.catch(e => {
return next(errors(404, e.message))
})
}
function getParams(request) {
return {
search: request.body.search
}
}
function getPhotosRegex(request) {
return Photos.aggregate([
{
$match: {
titlePhoto: {
$regex: request.search,
$options: 'i'
}
}
}
]).then(e => {
return e[0]
})
}
function getPhotos(request) {
return Photos.aggregate([
{
$match: {
titlePhoto: {
$text: { $search: request.search }
}
}
}
]).then(e => {
return e[0]
})
}
var ASYNC = function() {
function e() {
console.log('1')
}
}();
!function() {
function i() {
console.log('2')
}
}
text: { type: String}
schema.index({text: 'text'})
Collection.aggregate([
{
$match: { '$text': { '$search': 'тег1' } },
},
{ $lookup: { from: 'users', localField: 'owner', foreignField: '_id', as: 'owner' } },
{
$project: {
_id: 1,
/****/
score: { $meta: "textScore" }
}
},
{ $sort: { score: 1 }},
{ $skip: request.skip },
{ $limit: 20 },
{
$group: {
_id: "$_id",
/*****/
}
}
]).then()
После того как записали данные пришедшие с POST, просто выплевываете результат в response, а дальше JS`ом уже вставляете его куда надо