如何在NodeJS的DocumentDB的sql查询中传递函数?
Q.1:我想用用户定义的函数在DocumentDB上运行一个查询如何在NodeJS的DocumentDB的sql查询中传递函数?,sql,node.js,azure,azure-cosmosdb,Sql,Node.js,Azure,Azure Cosmosdb,Q.1:我想用用户定义的函数在DocumentDB上运行一个查询 var udf = function(users, userid) { var s, _i, _len; for (_i = 0, _len = users.length; _i < _len; _i++) { s = users[_i]; if (s.userid === userid) { return tr
var udf = function(users, userid) {
var s, _i, _len;
for (_i = 0, _len = users.length; _i < _len; _i++) {
s = users[_i];
if (s.userid === userid) {
return true;
}
}
return false;
};
conversationsQuerySpec = {
query: 'SELECT * FROM root r WHERE @fn(r.users, @userid) AND r.id=@id',
parameters: [{
name: '@fn',
value: udf
}, {
name: '@userid',
value: userid
}, {
name: '@id',
value: id
}]
};
我想运行查询,其中medium=derman,我不想通过level=2nd,如何运行此查询?Q1。您必须独立上传UDF,而不是作为参数。在运行该查询之前,只需使用适当的SDK调用将其插入即可
第一件事:请把你的问题分成两个独立的问题,因为它们是两个完全不同的东西。拉里,我已经删除了我的答案。你的更好!你不必出于礼貌那样做。另外,你的网站有关于如何上传的更多细节。也许你们可以在我的答案中加上这一点?谢谢你们两位,Ans.2对我来说很好,但我仍然不明白Ans.1如何在集合中插入,在哪里我可以这样做?我在NodeJS中使用documentbuilder NPM模块,所以我没有得到它,您能更详细地解释一下吗?有一个方法,
upsertUserDefinedFunction()
found。也就是说,对于分区集合上的存储过程,fanout存在一个无法正常工作的问题。我不知道这是否适用于UDF。解决每个问题的方法是删除然后创建。
var student = {
name: 'piyush',
classes: [{
level: '1st',
medium: 'spanish'
},{
level: '2nd',
medium: 'german'
}]
}
SELECT VALUE student FROM student JOIN c in student.classes WHERE c.medium = "german"