'use strict';
const { Queue } = require('plain-queue');
const queue = new Queue;
// внутри async function
chat.quiz = global_quizzes[quiz_id];
if(!chat.quiz) {
chat.quiz = await queue.addTask(function () {
return global_quizzes[quiz_id] || Chat_Quizzes.findById(quiz_id).exec();
});
global_quizzes[quiz_id] = chat.quiz;
}
// внутри async function
let quiz = global_quizzes[quiz_id];
if(!quiz) {
global_quizzes[quiz_id] = quiz = Chat_Quizzes.findById(quiz_id).exec();
}
if( quiz instanceof Promise ){
global_quizzes[quiz_id] = quiz = await quiz;
}
chat.quiz = quiz;
curl_setopt($ch, CURLOPT_PROXY, 'IP_ADDRESS:PORT');
curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'LOGIN:PASSWORD');
Если нет других нормальных способов,
фронтенде рандомный генератор какого-нибудь хэша и обфусфицировать его, чтобы не было понятно как он генерируется.
Да, есть origins, но как я понял они мне не помогли, некоторые люди это обошли.
const postsSchema = new Schema(
{
post_id: Number,
groupId:Number,
date: Number,
...
}
)
const groupSchema = new Schema(
{
groupId:Number,
...
}
)
> db.groups.find();
{ "_id" : ObjectId("5af95ce4b538395ae8af74fd"), "group_id" : 12312, "settings" : [ { "name" : "world1" }, { "name" : "world2" }, { "name" : "world3" } ] }
> db.groups.aggregate({$unwind: "$settings"}, {$match: {"settings": {"name":"world2"}}});
{ "_id" : ObjectId("5af95ce4b538395ae8af74fd"), "group_id" : 12312, "settings" : { "name" : "world2" } }