Node.js 如何解决';TypeError:db.find(…).toArray不是函数';在猫鼬中?
我试图查询我的mongodb集合以更新字段,但在尝试使用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')
.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()返回的内容。您也可以检查它的可能副本。请解释这是如何解决问题的,以及为什么我有完全相同的错误消息并找到了它,解决了我的问题