Comments (3)
I've even tried getting a raw object and then re-hydrating the document. Even thought the kind
is there, it hydrates a base model rather than the discriminated model.
const gameData: IGameDataDocument = await GameDataModel.findOne({gameId: params.gameid}).exec();
console.log("gameData", gameData);
const gameDataObject = gameData.toObject();
console.log("gameDataObject", gameDataObject);
const gameDataHydrated: IGameDataDocument = GameDataModel.hydrate(gameDataObject);
console.log("gameDataHydrated", gameDataHydrated)
const gameDataResponse = await gameData.CreateDataResponse(); // prints: CreateDataResponse: Generic game
const gameDataResponseHydrated = await gameDataHydrated.CreateDataResponse(); // prints: CreateDataResponse: Generic game
console.log("responses", gameDataResponse, gameDataResponseHydrated); // Lost all the special details
from mongoose.
I've figured it out. When the app is restarted, the discriminated models are no longer "registered". They would only be registered with Mongoose when they are first accessed.
To fix this, I have created a method that initialises all the discriminators on dbConnect() just by referencing each model. Maybe there's a more generic version or different way I should structure my code?
from mongoose.
Related Issues (20)
- Unexpected population of virtual with match() function in an embedded subdocument array HOT 1
- ChangeStream $match does not recognize fields with dots in Update Events HOT 4
- Missing reason in the ValidatorProps type
- Could not find a declaration file for module 'kareem'. HOT 6
- Using the ms package on expireAt option HOT 3
- Inconsistent behaviour of isDirectModified and ignoreAtomics HOT 2
- Hydrate from JSON not hydrating populated virtual objects HOT 3
- Problematic typing of _id when using .select() in TypeScript HOT 2
- be able to set readConcern on mongoose.Schema
- There's a merge marker in the changelog HOT 1
- Mongoose support for the automatic queryable encryption HOT 1
- Mongoose not reconnecting after disconnection event HOT 1
- Why is the default type of the generic field _id in the class Document of type "any"?
- mongoose.set('translateAliases', true) Not working in [email protected] HOT 1
- Using the ms package on the expireAt option HOT 2
- Using `watch` only sends insertion events, not delete or update HOT 5
- schema.recompileSchema exception when subDocument discriminator is defined before the model is compiled HOT 1
- Explanation of exporting createConnection and models is confusing in docs and maybe wrong. HOT 4
- Dumps *gigantic* object into console on error HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mongoose.