Как преобразовать этот объект mongodb в обычную версию?

#node.js #mongodb #mongoose #electron

#node.js #mongodb — монгодб #mongoose #electron #mongodb

Вопрос:

Я использую electron и react для работы моего приложения, которые взаимодействуют друг с другом с помощью ipcMain и ipcRenderer. Я не использую серверную часть с библиотекой Express. Я использую mongodb с mongoose для моделирования коллекций. У меня есть массив объектов db objects, исходящих из electron, и на стороне клиента (react) он выдает один объект, подобный этому.

 availability: true
bID: "A-Block"
dateCreated: Wed Aug 19 2020 16:18:36 GMT 0530 (India Standard Time) {}
__v: 0
_id: {_bsontype: "ObjectID", id: Uint8Array(12)}
__proto__: Object
  

Я тоже хочу, чтобы фактический объект был на стороне клиента, в чем и заключается моя проблема.

Ниже приведен мой метод MongooseModel.find()

 loadBuildings: (callback) => {
    Building.find().lean().then(bs => callback(bs))
}
  

Он выдает предполагаемый объект таким, каким я хочу его видеть в консоли. Вот так.

 _id: 5f3d0384c42b9eee83b59762,
availability: true,
bID: 'A-Block',
dateCreated: 2020-08-19T10:48:36.051Z,
__v: 0
  

Как получить тот же объект без дополнительных значений мета-ключа на стороне реакции? Помогите!

Ответ №1:

проверьте найти проекции

Параметр projection указывает, какие поля следует возвращать. Параметр содержит либо спецификации include, либо exclude, а не обе, если исключение не относится к полю _id.

 loadBuildings: (callback) => {
    Building.find({ }, { availability: 1, bID: 1, dateCreated: 1 }).lean().then(bs => callback(bs))
}