f56df39be8
fix bug where result.Document.self != result
2025-04-10 16:06:55 -04:00
510a126f4b
🌺
...
- fix references in nested structs not being registered properly
- rework struct tag parsing
- remove debug logs
- fix bug where an unrelated field with the same prefix as another population path is erroneously marked as populated
2025-04-10 00:32:59 -04:00
c85efdc49f
improve json marshaling/unmarshaling
2025-04-08 16:13:07 -04:00
40b754668d
rework Populate api
2025-04-07 02:08:56 -04:00
5585634c83
nvm figured it out lol?
2025-04-06 22:18:27 -04:00
4de1c20938
THIS DOESN'T WORK.
...
but i need to commit
2025-04-06 17:41:00 -04:00
1f9d32193f
add Count
function to Model
...
begin work on tracking populated/unpopulated fields
2025-04-05 23:44:36 -04:00
93b81308cb
improve id incrementing logic
2025-04-01 18:48:14 -04:00
322d97dc95
implement recursive deletion for gridfs files when Delete()
is called on a document
2025-04-01 18:45:36 -04:00
ad7c7f38af
replace ReplaceOne
with UpdateOne
...
this keeps timestamps intact...
2025-03-27 20:00:44 -04:00
33af8ce8e7
allow nil opts
to be passed to Find*
model methods
2025-03-27 17:36:51 -04:00
0a8f703eae
fix Model.typeName
being empty (!!)
2025-03-27 17:34:09 -04:00
fbe65294c6
add another special case for handling datetimes during find* queries
2025-03-27 16:34:46 -04:00
42954e8502
simplify conversion of bson.DateTime
s to time.Time
s in handleAnon
2025-03-27 16:04:26 -04:00
d328bc3fbd
fix time.Time
fields not being saved
...
via adding a special case in the `serializeIDs` function (in document_internals.go)
2025-03-27 16:02:22 -04:00
11d31fbbc1
improve Save
api
...
add a `SaveWith` function that accepts `SaveOptions` as a parameter, letting you tweak things like whether timestamps will be set before an insert or update operation
2025-03-27 00:12:19 -04:00
bb37212be7
fix doSave
calls to check if the document's ID is a zero value
2025-03-26 23:38:19 -04:00
a44b9679aa
fix panic caused by unsafe slice-casting operation in model.go
2025-03-26 21:36:54 -04:00
a91f4b6af8
fall back to not panicking if replication isn't enabled...
2025-03-26 20:34:49 -04:00
325534a7d0
clarify in README that replication is required for autoincrementing IDs
2025-03-26 20:33:43 -04:00
1c18fc2bf6
fix compile errors caused by mongo driver API changes
2025-03-26 20:16:04 -04:00
8668e89991
update dependencies
2025-03-25 17:13:29 -04:00
d66f9dd4aa
ensure that fields tagged with bson:"-"
are never considered during querying
2025-03-25 16:24:06 -04:00
cd72703068
fix more infinite recursion when registering models
2025-03-25 16:24:05 -04:00
e6a83d12e3
ensure we set each document's Model on find
2025-03-25 16:24:05 -04:00
7fc4ed46c8
ensure that the internal model
field in the Document
struct is tagged with bson:"-"
2025-03-25 16:24:05 -04:00
866a459855
fix infinite recursion in self-referential models
2024-09-19 19:56:25 -04:00
8c559d5926
upgrade mongodb driver to 2.0 (may revert)
2024-09-19 19:55:36 -04:00
64b9d1c241
huzzah for documentation!!! 🎉 🥳
2024-09-14 18:19:45 -04:00
53e23bb52a
add Get
method to model registry
2024-09-14 18:07:00 -04:00
15d032459a
remove tons of commented-out code, general cleanup
2024-09-14 15:47:17 -04:00
f9aa34ef12
unexport Model fields
2024-09-14 15:28:34 -04:00
9d791b1e3d
externalize more panic/error strings
2024-09-14 15:20:17 -04:00
8b9720b70a
correct Pull method to break out of inner loop if a match is found
...
let's maybe not stop pulling elements after only the first one has been processed?
2024-09-14 15:10:14 -04:00
fcd7cb2013
overhaul models to be more sensible by separating "instance" logic into a separate Document type ✨ 🪷
2024-09-14 02:09:38 -04:00
bcf3985360
unignore go.sum, ignore go.work* files
2024-09-12 23:18:53 -04:00
c2b45bfb36
update gitignore
2024-09-12 19:32:11 -04:00
0d8ad2a356
make iti_single and iti_multi sample values into functions
2024-09-12 18:31:35 -04:00
fd835efa46
[feat] add gridfs support! 🎉
...
(test cases included)
2024-09-12 18:10:03 -04:00
e018dad91e
update getNested utility to better handle slice fields
2024-09-12 17:50:31 -04:00
5a8f2301fc
unexport fields in Query struct
2024-09-12 17:48:45 -04:00
aa16700270
add test cases for chaining Query methods
2024-09-12 17:38:15 -04:00
95bfdf7863
add getter for Model.typeName
2024-09-12 17:25:01 -04:00
26101760cc
externalize error formats + strings
2024-09-12 17:22:42 -04:00
4834dc5908
[instagram] add children of bodom as a testing band :]
2024-09-12 17:20:17 -04:00
551d06fbe0
update getNested utility to better handle slice fields
2024-09-12 17:15:04 -04:00
cd20d2c9eb
change Query.Model to a pointer
2024-09-05 17:56:44 -04:00
4297071b3b
restructuring
...
- use pointers where possible when using reflection
- add a `CreateSlice` func, for storing slices of Models created by Find and FindPaged queries
- modify tests to use `CreateSlice`
2024-09-05 17:53:04 -04:00
14ac93b327
rename model methods
...
- rename FindAll -> Find
- rename Find -> FindRaw
2024-09-05 14:32:34 -04:00
08ea2d9627
update go.mod
2024-09-05 14:05:51 -04:00