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

如何使用groovy获取所需文档的objectID并将其存储在一个变量中?

伊光赫
2023-03-14

我打算在mongodb中针对特定文档获取objectID,将其存储在变量中并在控制台上打印出来。请注意,我希望_id字段 i-e 中的完整值:ObjectId(“5dc2b032da7bec484cc0be5b”),因为我打算在下一个采样器中将此值用作过滤器。我已经编写了以下代码,但它失败了:

import com.mongodb.client.MongoCollection;

import org.bson.Document;

import static com.mongodb.client.model.Filters.*;

import org.bson.Document;
import org.bson.types.ObjectId;

//import java.util.Arrays;

try {


MongoCollection<Document> collection = vars.getObject("collection");

    Document document = new Document("EmployeeID",12345)
        .append("EmployeeName", "Test Automation through Jmeter")
        .append("Employee_Type_OID",4)
        .append("Rank",0)
        .append("Rating",0)
        .append("Score",0)
        .append("BOSS_OID",56789)
        .append("CompanyID","012345T");

    collection.insertOne(document);


Document result = collection.find(eq("EmployeeID",12345)).first();
String ID =result.get("_id");   
ObjectId objectId = new ObjectId(ID);
return "Document inserted"+ objectId; 



    }
catch (Exception e) {
    SampleResult.setSuccessful(false);
    SampleResult.setResponseCode("500");
    SampleResult.setResponseMessage("Exception: " + e);
}

IAm收到以下错误:

 Response code: 500
Response message: Exception: java.lang.NullPointerException: Cannot invoke method get() on null object

共有1个答案

冯元魁
2023-03-14

根据您得到的错误,结果变量为null,因此我预计您的查找操作会在某个地方以某种方式失败。检查jmeter.log文件中是否有任何可疑条目。

一旦你解决了插入/查找文档的问题,你应该能够使用vars速记来存储它,它代表JMeterVariables类实例,如:

vars.put('myID', objectId as String)

演示:

 类似资料:
  • 问题内容: 我想获取特定的列值a.id并将其存储到变量v_id中。然后使用此值传递到存储过程。 我在Oracle SQL Developer中收到此错误: 错误报告:ORA-06550:第3行,第7列:PLS-00103:遇到以下情况之一时遇到了符号“ V_ID”: :=。(@%;用符号“:=”代替“ V_ID”才能继续。06550. 00000-“行%s,列%s:\ n%s” *原因:通常是PL

  • 我是Cypress的新手,我期待工作的一些事情有着非常奇怪的问题。例如,我试图获取表中某列的值,并在搜索输入中使用该值。我是这样做的: 但是当我运行这个程序时,我得到一个错误,指出[data cy=data table row]的长度是25而不是1。事实证明,我使用的id变量在should方法之外是不可访问的。我想那是因为这是一个promise。 如果我尝试这样做: 测试进入精神状态,一次又一次地

  • 问题内容: 我是Python,Twitter和Tweepy的新手。我设法从Twitter提取数据,但是现在我想将其存储到CSV文件中。 我的代码是: 这会在CLI上打印出数据,但我希望将其输出到CSV文件。我尝试了几种不同的选项,但它只输出第一个推文,而不是所有推文。 问题答案: 这样就可以了! 我建议您使用Python的csv。打开一个文件并在循环期间将其写入,如下所示:

  • 问题内容: 我正在将数据推送到Firebase中,但是我也想在数据库中存储唯一ID。有人可以告诉我,如何推送具有唯一ID的数据。 我正在尝试这样 错误是“ ReferenceError:引用未定义” 问题答案: 您可以使用任何ref对象的功能来获取密钥 在Firebase的JavaScript SDK中有两种调用方法。 使用。这将生成一个新的推送ID,并将数据写入具有该ID的位置。 使用。这将生成

  • 问题内容: 这是我的配置: 回波用于测试。我隐藏了IP。 我正在尝试通过NGiNX从Redis获取会话数据。这就是为什么我安装HttpRedis的原因。 我不了解的是如何从Redis获取数据,然后将其放入变量中。所以我可以随便使用它。 问题答案: 使用NGiNX-Eval-Module:https : //github.com/vkholodkov/nginx-eval- module 这是您的操

  • 在另一个react组件中,如何使用存储mongoDB数据的变量,在该组件中,我们可以使用从mongoDB获取并存储在该变量中的数据。 从mongoDB中提取数据并将其存储在名为data的变量中的文件的代码 现在我想在另一个反应组件中使用这个数据变量,这样我就可以显示存储在数据变量中的数据