如何使用groovy从mongodb集合中的字段中获取存储在变量中的值?

如何使用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

我已成功在收藏中插入了新文档。现在我想读取同一个文档并提取其“_id”,将其存储在一个变量中,以便在下一个采样器中使用。我的脚本失败了

    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)