استعلامات متعددة في documentdb-q-promises for Nodejs

1

أريد تقديم صفحة تحتوي على معلومات عن استفسارين مختلفين في CosmoDB باستخدام documentdb.

لدي استفسارين:

var FirstQuery = {
  query: 'SELECT * FROM FactoryData',
};

var SecondQuery = {
  query: 'SELECT * FROM StoreData',
};

ويكون هذا للحصول على البيانات

 docDbClient.queryDocuments(collLink, FirstQuery ).toArray(function (err, results) {
    value1 = results;
  });

docDbClient.queryDocuments(collLink, SecondQuery ).toArray(function (err, results) {
    value2 = results;
  });

ثم أريد أن أعرض العرض مع هذه النتائج ولكن لا يمكنني الحصول عليه من الخروج من هذه الوظائف.

res.render('view.html', {"value1" : value1 , "value2" : value2});

أعلم أن هذا الرمز لن يعمل ، لكنني كنت أحاول تنفيذ الوعود ولم أكن أعرف كيفية القيام بذلك مع وعود documentdb-q-promises.

لقد قرأت بالفعل الكثير من الوثائق حول وعد Q لكني لا أحصل عليه. هل يمكن لأحد أن يشرح لي كيف يمكنني القيام بذلك ، أنا مبتدئ.

1 إجابة

1
افضل جواب

بناءً على متطلباتك ، اتبعت مستند npm وشفرة الاختبار على github لاختبار الشفرة التالية في مشروعي المحلي السريع. يرجى الرجوع إلى ذلك.

var express = require('express');
var router = express.Router();

var DocumentClient = require('documentdb-q-promises').DocumentClientWrapper;

var host = 'https://***.documents.azure.com:443/';                    // Add your endpoint
var masterKey = '***'; // Add the massterkey of the endpoint

var client = new DocumentClient(host, {masterKey: masterKey});

var collLink1 = 'dbs/db/colls/import';
var FirstQuery = 'select c.id,c.name from c';
var collLink2 = 'dbs/db/colls/item';

var returnArray = [];

client.queryDocuments(collLink1, FirstQuery).toArrayAsync().
  then(function(response){
  console.log(response.feed);
  var map = {};
  map['value1'] = response.feed;
  returnArray.push(map);
  return client.queryDocuments(collLink2, FirstQuery).toArrayAsync()
})
.then(function(response) {
  console.log(response.feed);
  var map = {};
  map['value2'] = response.feed;
  returnArray.push(map); 
})
.fail(function(error) {
  console.log("An error occured", error);
});

router.get('/', function(req, res, next) {
  res.send(returnArray);
});

module.exports = router;

نتيجة الفحص:

Imagen 689476

اتمنى ان يساعدك

:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام