gohellp
@gohellp
Громкое "Ы" из темноты

Почему mongoose не получает int64?

Это началось после того как я заметил, что Number убирает два последних знака числа и изменил тип на BigInt. С mongoose.SchemaTypes.BigInt была такая же проблема. В интернете не смог найти ответ, но, вероятнее всего, не смог сформулировать запрос.

При попытке получить данные, функция выдаёт:
[
  {
    _id: new ObjectId("6483eb531e07446ae5a73066"),
    name: 'Test',
    deputies: [],
    __v: 0
  }
]

Код получения:
const mongoose = require("mongoose"),
	family = module.require("../../../src/schemas/families")

await mongoose.connect('mongodb://127.0.0.1:27017/alawar');
const targetFamily = await family.find({members:820415610571718718},{useBigInt64:true})

console.log(targetFamily)

Запись:
{
  "_id": {
    "$oid": "6483eb531e07446ae5a73066"
  },
  "name": "Test",
  "creator": {
    "$numberLong": "820415610571718718"
  },
  "members": [
    {
      "$numberLong": "820415610571718718"
    }
  ],
  "deputies": [],
  "__v": 0
}


Объявление схемы:
const mongoose = require("mongoose"),
schema = new mongoose.Schema({
	name:String,
	description:String,
	creator: mongoose.SchemaTypes.BigInt,
	members: [BigInt],
	deputies:{
		type:[BigInt],
		default:[]
	}
})

module.exports = mongoose.model('families', schema);
  • Вопрос задан
  • 85 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы