MongoError:无法识别的管道阶段名称:'$ changeStream' [英] MongoError: Unrecognized pipeline stage name: '$changeStream'

查看:328
本文介绍了MongoError:无法识别的管道阶段名称:'$ changeStream'的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们收到此错误:

   MongoError: Unrecognized pipeline stage name: '$changeStream'
        at queryCallback (/Users/alexamil/WebstormProjects/nabisco/cdt-now/node_modules/mongodb/node_modules/mongodb-core/lib/cursor.js:244:25)
        at /Users/alexamil/WebstormProjects/nabisco/cdt-now/node_modules/mongodb/node_modules/mongodb-core/lib/connection/pool.js:544:18
        at _combinedTickCallback (internal/process/next_tick.js:131:7)
        at process._tickDomainCallback (internal/process/next_tick.js:218:9)

我们有此文件,它将更新服务器上的某些缓存:

We have this file, which will update some caches on our server:

'use strict';

import caches = require('../../models/caches');

import {Phase, Acquisition, Category, FunctionalGroup, Role, User, Workstream} from "../../models";

Acquisition.watch().on('change', function (c) {
  console.log('acq change:', c);
});

Category.watch().on('change', function (c) {
  console.log('category change:', c);
});

FunctionalGroup.watch().on('change', function (c) {
  console.log('functional team change:', c);
});

Role.watch().on('change', function (c) {
  console.log('role change:', c);
});

User.watch().on('change', function (c) {
  console.log('user change:', c);
});

Workstream.watch().on('change', function (c) {
  console.log('workstream change:', c);
});

我们正在从Mongo 2.6迁移到Mongo 3.4,因此我们的某些数据可能缺少字段.

we are migrating from Mongo 2.6 to Mongo 3.4, so some of our data might be missing fields.

有人知道如何减轻此错误吗?

Does anyone know how to mitigate this error?

我们正在使用猫鼬版本5.0.16.

We are now using mongoose version 5.0.16.

推荐答案

Change streams are new in MongoDB 3.6. If you use MyModel.watch() in mongoose when connected to an older version of the MongoDB server, you'll get this error.

这篇关于MongoError:无法识别的管道阶段名称:'$ changeStream'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆