如何使用groovy从mongodb集合中的字段中获取存储在变量中的值?
我已成功在收藏中插入了新文档。现在我想读取同一个文档并提取其“_id”,将其存储在一个变量中,以便在下一个采样器中使用。我的脚本失败了如何使用groovy从mongodb集合中的字段中获取存储在变量中的值?,mongodb,groovy,jmeter,Mongodb,Groovy,Jmeter,我已成功在收藏中插入了新文档。现在我想读取同一个文档并提取其“_id”,将其存储在一个变量中,以便在下一个采样器中使用。我的脚本失败了 import com.mongodb.client.MongoCollection; import org.bson.Document; import static com.mongodb.client.model.Filters.*; import org.bson.Document; import org.bson.t
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("EmployeeOID",12345)
//.append("EmployeeOID",12345)
.append("EmployeeName", "Test Automation through Jmeter")
.append("Employee_Type_OID",4)
.append("Rank",0)
.append("Rating",0)
.append("Score",0)
.append("Supervisor_OID",56789)
.append("TRGEmpID","012345T");
collection.insertOne(document);
Document result = collection.find(eq("EmployeeOID",12345)).first();
def ID = result.get("_id").toString());
return "Document inserted"+result.get(ID);
}
catch (Exception e) {
SampleResult.setSuccessful(false);
SampleResult.setResponseCode("500");
SampleResult.setResponseMessage("Exception: " + e);
}
只需更改这一行:
def ID = result.get("_id").toString());
对于这一点:
def ID = result.get("_id").toString()
如果您还想将值保存到中,可以通过以下方式执行:
vars.put('ID', ID)
完成后,您将能够在JSR223脚本中以vars.get('ID')
的形式获取值,或者在其他测试元素中仅以${ID}
的形式获取值
演示:
更多信息:全部出错。这行末尾有两个结束括号,而不是一个:
def ID=result.get(“\u ID”).toString())
vars.put('ID', ID)