我正在制作一个聊天应用程序,用户在第一次向某人发送消息时会在数据库中创建一个新的对话,但是在每次创建一个新对话之前,我要检查该对话是否存在,我正在Node.js中构建它并使用express框架,而我正在使用Mongoose处理数据库
const mongoose = require('mongoose');
const Conversation = new mongoose.Schema({
Users : [
{
user_id : {
type : String,
required : true
},
username : {
type : String,
required : true
},
name : {
type : String,
required : true
},
profileUrl : {
type : String,
required : true
}
}
],
createdAt : {
type : Date,
default : Date.now,
required : true
}
});
module.exports = mongoose.model("Conversation",Conversation);
是否存在一个查询,我可以在其中检查是否存在与要传递的数组匹配的对话,我找不到一种方法来搜索带有对象的数组,我希望所有字段都相等,而不仅仅是单人
答案 0 :(得分:0)
//创建一个回调函数 module.exports.FindMessage =函数(conditionQuery,回调){ 用户.find(conditionQuery,回调) }
// than
User.FindMessage({$ or:[{username:username}]},function(err,message){ 如果(错误)抛出错误 如果(message.length> 0) {
}
else
{
}