Fix transform embeddeds with no columns but with nested embeddeds (mongodb) #4131
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue type:
[ ] question
[x] bug report
[ ] feature request
[ ] documentation issue
Database system/driver:
[ ]
cordova
[x]
mongodb
[ ]
mssql
[ ]
mysql
/mariadb
[ ]
oracle
[ ]
postgres
[ ]
cockroachdb
[ ]
sqlite
[ ]
sqljs
[ ]
react-native
[ ]
expo
TypeORM version:
[x]
latest
[ ]
@next
[ ]
0.2.17
(or put your version here)Steps to reproduce or a small repository showing the problem:
After hours of trial without looking at the source code, I got a workaround.
This workaround does not make any sense it should not be an intentional design so it might be a bug indeed...
In
addEmbeddedValuesRecursively
, I discovered that the field may not be created ifembedded.columns
is empty array.Then, when the foreach clause is skipped and it tries the enter into next recursion of
addEmbeddedValuesRecursively
the first argument may beundefined
,which cause the entity in that recursion to be
undefined
,eventually causing unexpected error as we still got some columns deep deep inside.
Here I suggest to fix it by an extra check, so that it won't break any existing behavior.