mongodb猫鼬如何解决'TypeError:db.find(...)。toArray不是函数'?

时间:2018-06-22 08:24:04

标签: node.js mongodb mongoose

我试图查询mongodb集合以更新字段,但是在尝试使用.toArray遍历所有文档时遇到错误。

只要我运行下面的代码,它就会显示TypeError: meme.find(...).toArray is not a function

我在做什么错了,我该怎么办才能解决?

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)}}); 
}); 

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我尝试了很多次后发现了这个

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