嵌套的mongodb查询

我有一个模仿用户在社交networking中的mongoose模式。 其中我想保存一个用户所有聊天的数组,聊天包括一个分数(用户正在聊天的用户)和一个代表对话的数组。

var userSchema = mongoose.Schema({ email : String, chats : [{ respondent : String, conversation : [{ message: String, author : String}]}], }); 

我如何在聊天中find一个包含有问题的答复的项目? 在find的项目中,id喜欢将消息推送到对话中。

你没有提到任何内部聊天的关键。 像这样指定:

 var userSchema = mongoose.Schema({ email : String, chats : [ { respondent : String, innerChat:[{ message: String, author : String}]} ], }); 

查询添加文件解决scheme是:

 var document={ email:"abc@gmail.com", chats:[{respondent:"UserName",innerChat:[{message:"hello",author:"authorName"}]}] } db.collection.insert(document); 

查询内部查询文档

 db.collection.find({"chats.innerChat.author":"authorName"});