嵌套的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"});