如何使用Java驱动程序(3.5.0)从Mongo中的字段获取值

时间:2017-09-07 21:47:23

标签: javascript json mongodb bson mirth

我在javascript中使用MongoDB,并且一直在使用Mongo的Java驱动程序。 (这是因为它是JAR格式,我正在使用Mirth Connect)。问题是,我正在尝试使用其他集合中的字段并为新集合提供信息。根据我的阅读,Java驱动程序中的filter应返回DBCursor。我不擅长javascript,并且还没有弄清楚如何从我已经提出的查询中获取字段中的值。

我正在使用它来进行查询:

var uri = new Packages.com.mongodb.MongoClientURI("mongodb://usr:pwd@localhost:27017/admin");
var mongoClient = new Packages.com.mongodb.MongoClient(uri);
var database = mongoClient.getDatabase("mydb");
var collection = database.getCollection("mycollection");    
var person = collection.findOne(com.mongodb.client.model.Filters.eq("person.id", id));

例如,我想拥有与ID关联的人的姓名。如何获得它的任何帮助,将非常感激。

该集合中的JSON也是这样的:

{"patient" : {
                    "id": 1234,
                    "first_name": "Peter",
                    "last_name": "Parker",          
                },
 "other_stuff": ...
}

1 个答案:

答案 0 :(得分:0)

尝试下面的代码,找到一个带有点表示法的(找到+第一个)来访问患者的名字。

Service: "built-in", Action "literal", 
args:"{
  "items": [
    {
      "name": "Don Giovanni",
      "cuisine": "Italian",
      "location": "Chicago, IL",
      "comments": [
        {
          "user_id": "leporello",
          "comment": "Molto bene"
        },
        {
          "user_id": "59b256814fdd1f75d5e1dce3",
          "comment": "insertion"
        },
        {
          "user_id": "59b256814fdd1f75d5e1dce3",
          "comment": "good food"
        },
        {
          "user_id": "59b256814fdd1f75d5e1dce3",
          "comment": "very good food"
        },
        {
          "user_id": "59b256814fdd1f75d5e1dce3",
          "comment": "insertion"
        }
      ]
    }
  ]
}"

Stage 2 :
Service :"mongodb-atlas", Action:"insert",database:"guidebook", collection:"restaurants"