gpt4 book ai didi

node.js - Nodejs 的 documentdb-q-promises 中的多个查询

转载 作者:太空宇宙 更新时间:2023-11-04 00:07:24 28 4
gpt4 key购买 nike

我想使用 documentdb 渲染一个页面,获取 CosmoDB 中两个不同查询的信息。

我有 2 个疑问:

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;
});

然后我想用这些结果渲染 View ,但我无法从这个函数的外部渲染它。

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

我知道这段代码行不通,但我试图实现 promise ,但不知道如何使用 documentdb-q-promises 来实现。

我已经阅读了很多有关 Q Promise 的文档,但我不明白。有人可以向我解释一下我该怎么做吗,我是初学者。

最佳答案

根据您的要求,我按照npm doc并在 github 上测试代码在我的本地 express 项目中测试以下代码。请引用一下。

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;

测试结果:

enter image description here

希望对您有帮助。

关于node.js - Nodejs 的 documentdb-q-promises 中的多个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51598972/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com