Tag: azure cosmosdb

如何使用Nodejs SDK从CosmosDB获取附件?

我正在尝试在Nodejs中使用CosmosDB。 我在一个集合中创build了一些文档,并添加了几个附件到一个文档中,如下所示: let dbds = new azure(dbEndpoint, {"masterKey":dbKey}) fs.open("c:/temp/capture.png", "r", (err, fd) => { if(err) console.log(err); else{ dbds.createAttachmentAndUploadMedia(documentLink, fs, {contentType:"image/png", partitionKey: partitionKey}, (err, result) =>{ fs.close(fd); if(err) console.log(err); else console.log(result); } } } 现在当我读到那个文件的附件时,我得到2个附件: dbds.readAttachments(documentLink, {"partitionKey":partitionKey}).toArray((err, result) => { if(err) console.log(err); else { console.log(result.length); //2 result.forEach(i => console.log(i.id);) //id of each attachment } } 现在我需要能够读取文档并将其存储在本地。 […]

请求中指定的延续令牌格式不正确

我真的很难尝试使用节点SDK对documentDB进行分页工作。 这是我有: find: function (querySpec) { var self = this; return new Promise((resolve, reject) => { var options = { maxItemCount: 2 } var query = self.client.queryDocuments(self.collection._self, querySpec, options); query.executeNext(function (err, results, headers) { if (err) { reject(err); } else { self.continuation = headers['x-ms-continuation']; resolve({ 'results': results, 'resource': headers['x-ms-resource-usage'] }); } }) }); }, nextPage: […]

使用Node.js将嵌套文档插入到DocumentDB文档中

将嵌套文档插入到下面的最佳方法是什么? { "id": "3af62b94-2031-4b85-9fd3-e13e7217d382", "Email": "test@ingeniuus.com", "Name": "test", "OrgRoles": null, "UpdatedDate": "2017-11-10T10:49:11.1962998Z", "CreatedDate": "2017-11-10T10:49:05.6247018Z", "IsDeleted": true, "_rid": "KFokAOUDHwEtAAAAAAAAAA==", "_self": "dbs/KFokAA==/colls/KFokAOUDHwE=/docs/KFokAOUDHwEtAAAAAAAAAA==/", "_etag": "\"00001e00-0000-0000-0000-5a0584270000\"", "_attachments": "attachments/", "_ts": 1510310951 } 理想情况下,我想追加OrgRoles,以便文档看起来像: { "id": "3af62b94-2031-4b85-9fd3-e13e7217d382", "Email": "test@ingeniuus.com", "Name": "test", "OrgRoles": null, "Devices": [ "ID": "765476547", "name": "myDevice" ], "UpdatedDate": "2017-11-10T10:49:11.1962998Z", "CreatedDate": "2017-11-10T10:49:05.6247018Z", "IsDeleted": true, "_rid": "KFokAOUDHwEtAAAAAAAAAA==", "_self": "dbs/KFokAA==/colls/KFokAOUDHwE=/docs/KFokAOUDHwEtAAAAAAAAAA==/", "_etag": […]

DocumentDB:bulkImport存储过程 – 在Array / JSON问题上获得400错误

我只是试图执行documentDB API的标准示例bulkImport sproc,我似乎无法传递一个对象数组。 尽pipe文档给出了明确的方向来发送一组对象,我总是得到400错误..非常令人沮丧。 其他细节:即使我将数组包装在一个包含“项目”属性的数组中,并将其包含在我的存储过程中,它仍然错误地指出相同的错误请求,需要成为对象或JSON序列化的对象。 当我尝试做JSON.stringify(文档)发送之前,无法parsing另一边。 错误请求:文档主体必须是表示JSON序列化对象的对象或string。 bulkInsert.js: https : //github.com/Azure/azure-documentdb-js-server/blob/master/samples/stored-procedures/BulkImport.js 我的代码(使用documentdb-util for async): execProc(docs, insertProc); async function execProc(docs, insertProc){ let database = await dbUtil.database('test'); let collection = await dbUtil.collection(database, 'test'); let procInstance = await dbUtil.storedProcedure(collection, insertProc); try{ let result = await dbUtil.executeStoredProcedure(procInstance, docs); console.log(result); } catch(e){ console.log(e.body) } } 头 Object {Cache-Control:“no-cache”,x-ms-version:“2017-11-15”,User-Agent:“win32 / 10.0.16299 […]

无法执行存储过程:“指定的input之一无效”。

我正在使用Node.js,Express.js和Azure DocumentDB开发API。 我能够成功地注册一个存储过程如下: var documentdb = require('documentdb').DocumentClient; var client = new documentdb(/* endpoint URL */, { "masterKey": /* master key */ }); var dbLink = /* db self link */ var test = { id: 'test', body: function () { __.response.setBody('Hello world.'); } }; client.upsertStoredProcedure(dbLink, test, function (err, res) { // save self link and […]

使Azure DocumentDB不返回服务字段

我在节点应用程序中使用类似于SQL的Sytax for Azure DocumentDB。 这里是方法代码 client.queryDocuments(collection._self, "SELECT * FROM root").toArray(function(err, results) { if (err) { callback(err); } else { callback(null, results); } }); 和回应 [ { "id": "test1", "name": "Kate", "email": "test@mail.com", "brands": [ "AAAA", "BBB", "CCCi" ], "_rid": "WedNAN3lZgABAAAAAAAAAA==", "_self": "dbs/WedNAA==/colls/WedNAN3lZgA=/docs/WedNAN3lZgABAAAAAAAAAA==/", "_etag": "\"00001b00-0000-0000-0000-56fff6c60000\"", "_ts": 1459615430, "_attachments": "attachments/" } ] 有什么办法让DocumentDb不会重复执行服务字段(_rid,_self,_etag,_ts,_attachments),但不能在select子句中写入所有非服务字段?

mongoose查询子文档属性

我试图通过一个WEB API公开这个function。 在这个代码中设置的方式是,有人在URL上提供一个GET,并提供查询string,forms为: ?field=value&anotherfield.subproperty=value 但我似乎无法查询基于子文档属性的工作。 下面你会发现我的准系统代码,logging我试图接受和我的两个testing用例。 码: var express = require('express'); var router = express.Router(); var mongoose = require('mongoose'); var config = require('../config'); var User = require('../models/user'); var functions = require('../functions'); router.get('/', function(req,res,next) { //Check Permissions associated with UID *TODO var parameters = req.query; console.log(parameters); User.find(parameters, function(err, users) { if (err) { json = functions.generateOperationOutcome("exception","error",err,"exception"); […]

在kubernetes里面使用azure色的宇宙mongodb

我有一个使用mongoDb的nodeJS api。 我在kubernetes集群中部署应用程序。 在这里你可以findkubernetes的yml文件https://github.com/daumann/chronas-api/tree/azure/kuberneties 现在我想用一个容器的mongodb instatt的azure cosmosdb。 https://docs.microsoft.com/en-us/azure/cosmos-db/mongodb-introduction 有人可以帮助我,我怎么能做到这一点。 这将创build仅使用kuberneties的yml文件来做到这一点。 干杯

使用Azure Mobile Apps for Node在Cosmos数据库上执行SQL查询连接

目前,我正在为使用Azure移动应用程序和Node.js和Azure Cosmos DB(文档数据库)开发移动系统的后端。 我使用的是这里给出的例子: https://github.com/Azure/azure-mobile-apps-node/blob/master/samples/custom-api-sql-stmt/api/completeall.js 到目前为止这么好 – 但是,每当我运行这个SQL,我得到: TypeError: provider.read is not a function at Function.module.exports.api.execute (x:\x\node_modules\azure-mobile-apps\src\data\index.js:32:18 我需要运行的SQL如下所示: SELECT c.id, c.Email FROM Profile c JOIN d in c.DeviceIDs WHERE d.DeviceID = @deviceId 这是因为我的数据是嵌套的,就像这样(Cosmos中的Profile集合) – 我需要获取DeviceID匹配的logging: [ { "id": "2ca572d0-858d-4376-8537-c228a8379638", "Email": "test@user.com", "Name": "Test User 1", "OrgRoles": null, "DeviceIDs": [ { "DeviceID": "123445555555", "DeviceCode": "1234" } […]

NodeJS,DocumentDB(通过Docooment)批量插入

我正在编写一个脚本来使用NodeJS和Docooment进行批量导入(从CSV)到documentDB。 有没有办法做批量插入? 我知道它是基于Mongoose的,但是有关Mongoose的大容量插入的示例与特定的MongoDBfunction有关。