如何进行猫鼬查询以搜索匹配的数组

时间:2019-06-05 10:39:36

标签: node.js mongodb rest express mongoose

我正在制作一个聊天应用程序,用户在第一次向某人发送消息时会在数据库中创建一个新的对话,但是在每次创建一个新对话之前,我要检查该对话是否存在,我正在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); 

是否存在一个查询,我可以在其中检查是否存在与要传递的数组匹配的对话,我找不到一种方法来搜索带有对象的数组,我希望所有字段都相等,而不仅仅是单人

1 个答案:

答案 0 :(得分:0)

//创建一个回调函数 module.exports.FindMessage =函数(conditionQuery,回调){     用户.find(conditionQuery,回调) }

// than

User.FindMessage({$ or:[{username:username}]},function(err,message){             如果(错误)抛出错误             如果(message.length> 0)             {

        }
        else
        {
         }