Node.js 如何解决';TypeError:db.find(…).toArray不是函数';在猫鼬中?

Node.js 如何解决';TypeError:db.find(…).toArray不是函数';在猫鼬中?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我试图查询我的mongodb集合以更新字段,但在尝试使用.toArray循环浏览所有文档时遇到错误 每当我运行下面的代码时,它都会显示TypeError:meme.find(…)。toArray不是一个函数 我做错了什么?我能做些什么来解决它 var mongoose = require('mongoose'); const mongoolia = require('mongoolia').default; var algoliasearch = require('algoliasearch')

我试图查询我的mongodb集合以更新字段,但在尝试使用
.toArray
循环浏览所有文档时遇到错误

每当我运行下面的代码时,它都会显示
TypeError:meme.find(…)。toArray不是一个函数

我做错了什么?我能做些什么来解决它

var mongoose = require('mongoose');
const mongoolia = require('mongoolia').default;
var algoliasearch = require('algoliasearch');

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

const TagSchema = new mongoose.Schema({
  tagarray: { type: String, required: true, algoliaIndex: true },
});

TagSchema.plugin(mongoolia, {
  appId: 'QQVL4GOPOL',
  apiKey: 'd93766f242500de7a13183eeeb6a7934',
  indexName: 'test1'
})

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

find().toArray()
更改为
find().fetch()

经过多次尝试,我发现了这个

 db.collection(collection).find(data, (err, res) => err ? reject(err) : res.toArray().then(x => resolve(x)))

您必须检查.find()返回的内容。如果返回的是结果,则只能转换为数组。如果找不到任何内容,请检查find()返回的内容。您也可以检查它的可能副本。请解释这是如何解决问题的,以及为什么我有完全相同的错误消息并找到了它,解决了我的问题