使用Mongo Cursor获取数组的内部Json

时间:2017-10-24 05:09:05

标签: java json mongodb cursor

使用Cursor需要获取Array中的Inner Json的值 文档看起来像这样

{

    "_id" : ObjectId("5772932ce4b0be6213704c81"),
    "employerId" : "57728cd7e4b0be6213704b17",
    "jobSeekerId" : "5706426ae4b0c7ea74fda18b",
    "readByJobSeeker" : true,
    "readByJobEmployer" : true,
    "interestChat" : [
        {
            "userChat" : "is this job avaliable ",
            "lastChatRole" : "JOBSEEKER",
            "lastChatTime" : ISODate("2017-08-10T15:20:25.017Z"),
            "jobSeekerAcknowledgeFlag" : true,
            "connectionCounterIncreamented" : false
        }
    ],
    "createdDate" : ISODate("2016-06-28T15:09:32.564Z"),
    "lastModifiedDate" : ISODate("2017-08-10T15:31:12.564Z"),
    "version" : NumberLong(20),
    "active" : true
}

问题是使用查询

db.interest.find({"interestChat":{$exists:true}}).forEach(function(myChat){print ("interest :: "+ myChat.interestChat); } ).pretty()

无法从输出数据中获取数据  兴趣:: [对象BSON] 需要获取Inner json的值

1 个答案:

答案 0 :(得分:0)

函数print并不意味着带来json / bson对象。

请尝试printjson

db.interest.find({"interestChat":{$exists:true}})
    .forEach(function(myChat){
        printjson({"interest": myChat.interestChat});
    })

或只是printjson(myChat.interestChat);