CoreMongooseArray to Normal Array

If you already got the mongoose array and like to convert to simple js array

const jsArray = mongooseArray.toObject();

https://mongoosejs.com/docs/api/array.html#mongoosearray_MongooseArray-toObject


For some reason .toObject() didn't work for me. lean() option works, but it's not suitable when you already have an object with mongoose array in it. So in case if you already have mongoose array and you want just to convert it to plain js array you can use following code:

function mongooseArrayToArray(mongooseArray) {
  const array = [];
  for (let i = 0; i < mongooseArray.length; i += 1) {
    array.push(mongooseArray[0]);
  }
  return array;
};

usage:

const array = mongooseArrayToArray(mongooseArray);

You need to add lean() to your query.

From the docs:

Documents returned from queries with the lean option enabled are plain javascript objects, not Mongoose Documents. They have no save method, getters/setters, virtuals, or other Mongoose features.