查询history表结构为:
{ "_id" : ObjectId("5dbba2cfb834740008dd62e7"), "callStatus" : { "callId" : "5dafa7aa-177e-45ff-9193-9ac615716d6a", "seatEmotion" : "正常", "speechRate" : "216字/分" }, "flowQualityInspection" : { "callId" : "5dafa7aa-177e-45ff-9193-9ac615716d6a", "flowId" : "ef1a87ab503545558b8108ab88d59442", "navigations" : [] }, "viewUserPortraits" : [], "chatMessages" : [ { "_id" : ObjectId("5dbba2f3b834740008dd62e8"), "callId" : "5dafa7aa-177e-45ff-9193-9ac615716d6a", "agentId" : "836", "text" : "很高兴服务到您这样就是嗯", "role" : 0, "time" : "00:00:30", "index" : 1474 },
......
想查询某一数组元素中特定属性值的mongo语句:
db.getCollection('history').find({chatMessages:{$elemMatch : {"text":"很高兴服务到您这样就是嗯"}}})
如果对象有一个元素是数组,那么$elemMatch可以匹配内数组内的元素