我想在MongoDB中循环浏览我的集合,所以我尝试使用.forEach执行该操作,但看来这不是正确的方法。每次我尝试运行它都会给我错误:TypeError: meme.find(...).forEach is not a function
这是我的代码:

var meme = require('../app/model/meme');

meme.find().forEach(function(meme){
   meme.update({_id: meme._id}, {$set: { objectID: meme._id.toString().slice(10).slice(0,24)}});
});

我正在使用mongoose和node.js来执行操作。

感谢您为解决此问题提供的帮助。

谢谢。

最佳答案

您正在使用async方法find,因此您应使用promise或callback来获取结果,这里有一些解决方案选择您想要的

//使用 promise

meme.find().then((memes) => {
  memes.forEach((meme) => {
    console.log(meme);
  });
});

//使用回调
meme.find({}, (err, memes) => {
  memes.forEach((meme) => {
    console.log(meme);
  });
});

//使用exec
meme.find().exec((err, memes) => {
  memes.forEach((meme) => {
    console.log(meme);
  });
});

关于javascript - Mongoose Node js中的'TypeError : meme. find(...)。forEach不是函数'吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51009832/

10-10 23:22