当前位置: 首页 > 知识库问答 >
问题:

Azure Cosmos DB Mongo API存储过程

印晋
2023-03-14

我需要帮助编写SP在Mongo API与返回相同的json,我保存或新的json与选定的属性

function sample(prefix) {
    var collection = getContext().getCollection();
var filterQuery2 = 'SELECT * FROM root r where r.userName= "' + prefix + '"';
    // Query documents and take 1st item.
    var isAccepted = collection.queryDocuments(
        collection.getSelfLink(),
        filterQuery2,
    function (err, feed, options) {
        if (err) throw err;

        // Check the feed and if empty, set the body to 'no docs found', 
        // else take 1st element from feed
        if (!feed || !feed.length) {
            var response = getContext().getResponse();
            response.setBody('no docs found');
        }
        else {
            var response = getContext().getResponse();
            var body = { prefix: prefix, feed: feed[0] };
            response.setBody(JSON.stringify(body));
        }
    });

    if (!isAccepted) throw new Error('The query was not accepted by the server.');
}

共有1个答案

包和泰
2023-03-14

我测试了cosmos db mongo api存储过程,和您一样。

您的json文档的正常格式被转换为$v和$t,这就是您的过滤器出现故障的原因。

您可以在这个帖子和这个案例中看到相同的情况,cosmos db团队发表了一份官方声明:

 类似资料:
  • 数据访问层支持存储过程调用,调用数据库存储过程使用下面的方法: $resultSet = Db::query('call procedure_name'); foreach ($resultSet as $result) { } 存储过程返回的是一个数据集,如果你的存储过程不需要返回任何的数据,那么也可以使用execute方法: Db::execute('call procedure_name'

  • 问题内容: 我试图在postgres 9.3上使用sql调用函数内的函数。 这个问题与我的另一篇文章有关。 我写了下面的函数。到目前为止,我还没有合并任何类型的save-output(COPY)语句,因此我试图通过创建嵌套函数print-out函数来解决此问题。 以上功能有效。 尝试创建嵌套函数。 调用嵌套函数。 输出 上面给出了这个。但是,当在print_out()中将arg1,arg2替换为’

  • 我们前面所学习的 MySQL 语句都是针对一个表或几个表的单条 SQL 语句,但是在数据库的实际操作中,经常会有需要多条 SQL 语句处理多个表才能完成的操作。 例如,为了确认学生能否毕业,需要同时查询学生档案表、成绩表和综合表,此时就需要使用多条 SQL 语句来针对这几个数据表完成处理要求。 存储过程是一组为了完成特定功能的 SQL 语句集合。使用存储过程的目的是将常用或复杂的工作预先用 SQL

  • 本文向大家介绍Dapper.NET 存储过程,包括了Dapper.NET 存储过程的使用技巧和注意事项,需要的朋友参考一下 示例 简单使用 Dapper完全支持存储的proc: 输入,输出和返回参数 如果您想要更精美的东西,可以执行以下操作: 表值参数 如果您有一个接受表值参数的存储过程,则需要传递一个数据表,该表的结构与SQL Server中的表类型相同。这是表类型和使用它的过程的定义: 要从c

  • 我试图在我的内存Hsqldb数据库中设置一个存储过程,用于测试目的。我正在使用的存储过程是在MySql中开发的,所以我想用HSqlDb来设置它,以适应我的测试包 我试图创建一个简化版本的程序,但还没有乐趣。 程序是 我在运行测试时遇到的错误如下

  • 这里的console.log(doc2)也没有显示我想要的删除元素。

  • 问题内容: 我在任何地方都找不到此答案,但是可以从MySQL中的另一个存储过程调用存储过程吗?我想找回标识值,并在父存储过程中使用它。我们不能再使用FUNCTIONS! 问题答案: 参数应该可以帮助您将值返回给调用过程。基于此,解决方案必须是这样的。

  • 我使用JDBC这样调用这个过程: 它向我抛出一个错误,通知调用格式错误。 但是如果我像这样直接在IDE中运行调用: