首页 > 解决方案 > Mongodb 变更流监听新数据

问题描述

当新数据添加到我的集合中时,应该发生更改事件,但它不起作用。conversationId 是一个由两个完全唯一的用户名组成的数组。当两个用户之间创建新对话时,它应该触发 change 事件。难道我做错了什么?

try {
    const { user } = jwt.decode(req.cookies.token);
    const users = await User.findById(user, {
        _id: 0,
        username: 1,
    });

    const username = users.username;
    console.log('Username: ', username);
    c = Conversations.watch([
        {
            $match: {
                conversationId: { $in: [username] },
            },
        },
    ]);
    console.log(c);
    c.on('change', (change) => {
        console.log('change', change);
        if (change.operationType === 'insert') {
            const task = change.fullDocument;
            console.log(task);
        }
    });
    res.json(true);
} catch (err) {
    console.log(err);
}

标签: mongodbnosqlwatchchangestream

解决方案


推荐阅读