首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mongodb changestream“管道”不工作节点

mongodb changestream“管道”不工作节点
EN

Stack Overflow用户
提问于 2020-12-01 07:06:39
回答 1查看 264关注 0票数 0

我有以下更改流,但它的功能没有更改,一旦我使用芒果罗盘进行更新,就不会记录更改。

代码语言:javascript
复制
var pipeline = [
  { $match: { _id: ObjectId(id) } }
];
try {
  const collection = client.db("mydb").collection("shop");
  const changeStream = collection.watch(pipeline);
  changeStream.on('change', (next) => {
    //console.log(next);
    console.log('changed')
  }, err => {
    console.log(err);
  });
} catch (err) {
  console.log(err)
}
EN

回答 1

Stack Overflow用户

发布于 2022-02-16 14:14:13

您通常不会更新集合中文档的_id,这是一个问题吗?如果由于某种原因,您正在更新_id,那么问题可能在于如何引用您的$match。这对我来说很管用:

代码语言:javascript
复制
const pipeline01 = [
  { $match: { 'updateDescription.updatedFields.fieldIamInterestedIn': { $ne: undefined } } },
  { $project: { 'fullDocument._id': 1, 'fullDocument.anotherFieldIamInterestedIn': 1 } },
];
theCollectionIamWatching.watch(pipeline01, { fullDocument: 'updateLookup' }).on('change', async (data) => {
// do the thing I want to do using data.fullDocument
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65086081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档