gpt4 book ai didi

mongodb - 使用Mongodb的持久JSON响应

转载 作者:行者123 更新时间:2023-12-02 15:28:32 36 4
gpt4 key购买 nike

关于如何将GORM对象持久保存到MongoDB的教程很多。 http://blog.mongodb.org/post/18510469058/grails-in-the-land-of-mongodb。就我而言,我正在从一个服务器到另一个服务器的请求中获取HTTP响应。我不知道JSON响应的确切形状,但是对大多数结构都非常了解。

所以说我正在获得医生名单,我知道医生的结构。每个医生都有一个病人 list ,但我不知道每个病人的确切结构。

一名患者可能是:

patient : {
name: "tony",
lastIllness: "flu"
}

另一个可能是:
patient : {
name: "peter",
phoneNumber: "08678762"
}

我的目标是完全保留从HTTP请求到MongoDB中的JSON响应并使其易于使用,这意味着能够为各种患者/医生运行不同的查询。

我可以做:
class Doctor {
List<Patient> patients
static embedded = ['patients']
}

class Patient {
// holds dynamic attributes
}

我可以通过执行以下操作来手动解析JSON并动态创建各种Patient属性:
patient[$attributeName]=attributeValue

这将起作用,但是我可以看到解析变得越来越复杂和错误。记住,我希望从HTTP请求中获取的JSON能够逐字保存,并且希望该JSON可用于查询。

有没有更好的办法?

最佳答案

我有一个稍微相似的案例。我已经用Grails创建了Restful API,客户希望将对MongoDB中所有参数的所有请求都存储到API中,以便能够提取使用情况信息。

我创建了以下域类:

class ApiStatistic {

static mapWith = "mongo"

ObjectId id
...
Map parameters
Date dateCreated

}

然后,在拦截所有请求的过滤器中,我异步调用一个接收请求参数的服务。这里有趣的属性是 参数,它是 Map

然后,我要做的就是创建一个新的 ApiStatistic对象,并将请求的参数分配给 parameters属性。 Map与所有信息一起作为json存储在MongoDB中。

我认为,通过这种方法,您只需在域类中使用 Map属性,就可以在MongoDB中持久保存JSON响应。

关于mongodb - 使用Mongodb的持久JSON响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24055565/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com