diamond-orm/godoc.html

1230 lines
52 KiB
HTML

<!DOCTYPE html>
<html style><!--
Page saved with SingleFile
url: http://localhost:8080/pkg/rockfic.com/orm/
saved date: Sat Sep 14 2024 17:57:52 GMT-0400 (Eastern Daylight Time)
-->
<meta charset=utf-8>
<meta name=viewport content="width=device-width, initial-scale=1">
<meta name=theme-color content=#375EAB>
<title>orm - Go Documentation Server</title>
<style>body {
margin: 0;
font-family: Arial, sans-serif;
background-color: #fff;
line-height: 1.3;
text-align: center;
color: #222
}
pre, code {
font-family: Menlo, monospace;
font-size: 0.875rem
}
pre {
line-height: 1.4;
overflow-x: auto
}
pre .comment {
color: #006600
}
a {
color: #375eab;
text-decoration: none
}
a:hover, .exampleHeading .text:hover, .expandAll:hover {
text-decoration: underline
}
p, li {
max-width: 50rem;
word-wrap: break-word
}
p, pre, ul {
margin: 1.25rem
}
pre {
background: #efefef;
padding: 0.625rem;
border-radius: 0.3125rem
}
h1, h2, h3 {
margin: 1.25rem 0 1.25rem;
padding: 0;
color: #375eab;
font-weight: bold
}
h1 {
font-size: 1.75rem;
line-height: 1
}
h1 .text-muted {
color: #777
}
h2 {
font-size: 1.25rem;
background: #e0ebf5;
padding: 0.5rem;
line-height: 1.25;
font-weight: normal;
overflow: auto;
overflow-wrap: break-word
}
h2 a {
font-weight: bold
}
h3 {
font-size: 1.25rem;
line-height: 1.25;
overflow: auto;
overflow-wrap: break-word
}
h3 {
margin: 1.25rem 0.3125rem
}
dl {
margin: 1.25rem
}
dd {
margin: 0 0 0 1.25rem
}
dl, dd {
font-size: 0.875rem
}
#pkg-index h3 {
font-size: 1rem
}
.pkg-dir {
padding: 0 0.625rem
}
.pkg-dir table {
border-collapse: collapse;
border-spacing: 0
}
.pkg-name {
padding-right: 0.625rem
}
.top-heading {
float: left;
padding: 1.313rem 0;
font-size: 1.25rem;
font-weight: normal
}
.top-heading a {
color: #222;
text-decoration: none
}
div#topbar {
background: #e0ebf5;
height: 4rem;
overflow: hidden
}
div#page {
width: 100%
}
div#page > .container, div#topbar > .container {
text-align: left;
margin-left: auto;
margin-right: auto;
padding: 0 1.25rem
}
div#page.wide > .container, div#topbar.wide > .container {
max-width: none
}
div#footer {
text-align: center;
color: #666;
font-size: 0.875rem;
margin: 2.5rem 0
}
input#search {
padding: 0.625rem;
text-decoration: none;
font-size: 1rem;
border-radius: 0.3125rem
}
input#search {
border: 0.0625rem solid #375eab
}
div#menu {
text-align: right;
padding: 0.625rem;
white-space: nowrap;
max-height: 0;
-moz-transition: max-height 0.25s linear;
transition: max-height 0.25s linear;
width: 100%
}
::-webkit-input-placeholder {
color: #7f7f7f;
opacity: 1
}
::placeholder {
color: #7f7f7f;
opacity: 1
}
#menu .search-box {
display: inline-flex;
width: 8.75rem
}
input#search {
background: white;
color: #222;
box-sizing: border-box;
-webkit-appearance: none;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-right: 0;
margin-right: 0;
flex-grow: 1;
max-width: 100%;
min-width: 5.625rem
}
input#search:-moz-ui-invalid {
box-shadow: unset
}
input#search + button {
display: inline;
font-size: 1em;
background-color: #375eab;
color: white;
border: 0.0625rem solid #375eab;
border-top-left-radius: 0;
border-top-right-radius: 0.3125rem;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0.3125rem;
margin-left: 0;
cursor: pointer
}
input#search + button span {
display: flex
}
input#search + button svg {
fill: white
}
@supports (--c:0) {
[style*="--aspect-ratio-padding:"] {
position: relative;
overflow: hidden;
padding-top: var(--aspect-ratio-padding)
}
[style*="--aspect-ratio-padding:"] > * {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%
}
}
.toggleButton {
cursor: pointer
}
.toggleVisible > .expanded {
display: block
}
h2 {
clear: right
}
@media (max-width: 58.125em) {
#heading-wide {
display: none
}
}
@media (max-width: 47.5em) {
}
@media (min-width: 43.75em) and (max-width: 62.5em) {
input#search {
font-size: 0.875rem
}
}
@media (max-width: 43.75em) {
body {
font-size: 0.9375rem
}
pre, code {
font-size: 0.866rem
}
div#page > .container {
padding: 0 0.625rem
}
div#topbar {
height: auto;
padding: 0.625rem
}
div#topbar > .container {
padding: 0
}
#heading-wide {
display: block
}
.top-heading {
float: none;
padding: 0.75rem
}
div#menu {
padding: 0;
text-align: left;
float: left
}
#menu .search-box {
display: flex;
width: 100%
}
p, pre, ul {
margin: 0.625rem
}
.pkg-synopsis {
display: none
}
}
@media (max-width: 30em) {
#heading-wide {
display: none
}
}</style>
<meta name=referrer content=no-referrer>
<link type=image/x-icon rel="shortcut icon"
href="data:image/x-icon;base64,AAABAAIAICAAAAEAIACoEAAAJgAAABAQAAABAAgAaAUAAM4QAAAoAAAAIAAAAEAAAAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUTjj/VE44//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2/1ROOP9UTjj/AAAAAAAAAAAAAAAAAAAAAFROOP9UTjj//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb/VE44/1ROOP8AAAAAAAAAAAAAAAAAAAAAVE44/1ROOP/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv9UTjj/VE44/wAAAAAAAAAAAAAAAAAAAABUTjj/VE44//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2/1ROOP9UTjj/AAAAAAAAAAAAAAAAAAAAAFROOP9UTjj//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb/VE44/1ROOP8AAAAAAAAAAAAAAAAAAAAAVE44/1ROOP/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv9UTjj/VE44/wAAAAAAAAAAAAAAAAAAAABUTjj/VE44//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2/1ROOP9UTjj/AAAAAAAAAAAAAAAAAAAAAFROOP9UTjj//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb/VE44/1ROOP8AAAAAAAAAAAAAAAAAAAAAVE44/1ROOP/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv9UTjj/VE44/wAAAAAAAAAAAAAAAAAAAABUTjj/VE44//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2/1ROOP9UTjj/AAAAAAAAAAAAAAAAAAAAAFROOP9UTjj//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb/VE44/1ROOP8AAAAAAAAAAAAAAAAAAAAAVE44/1ROOP/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv9UTjj/VE44/wAAAAAAAAAAAAAAAAAAAABUTjj/VE44//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/awWX/xrBc/8awXP/fxmj//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2/1ROOP9UTjj/AAAAAAAAAAAAAAAAAAAAAFROOP9UTjj//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2/+bhzf/7/P//+/z//+LavP/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb/VE44/1ROOP8AAAAAAAAAAAAAAAAAAAAAVE44/1ROOP/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//jcc//mzGv/8fDq//v8///7/P//6eXX/+TKav/43HP//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv9UTjj/VE44/wAAAAAAAAAAAAAAAAAAAABUTjj/VE44//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/73nX/qZpg/5STfP+Un7f/mqbB/5unwv+TnLD/lpN6/7CfX//+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2/1ROOP9UTjj/AAAAAAAAAAAAAAAAAAAAAFROOP9UTjj//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//jcef92jcD/dIzD/3SMw/90jMP/dIzD/3SMw/90jMP/fI+3//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb/VE44/1ROOP8AAAAAAAAAAAAAAAAAAAAAVE44/1ROOP/+4Xb//uF2//7hdv/+4nv//u6x///32f//+eP///XP/6Cptf90jMP/U2KF/zM5Sf81PEz/WWqQ/3SMw/+wtLL///LD///zyf/+7q///uN///7hdv/+4Xb//uF2//7hdv9UTjj/VE44/wAAAAAAAAAAAAAAAAAAAABUTjj/VE44//7hdv/+4Xb//uSE///66P///////////////////////v///8zKvf8fICP/HyAj/x8gI/8nKCr/3d7X/////////////////////////fT//uiY//7hdv/+4Xb//uF2/1ROOP9UTjj/AAAAAAAAAAAAAAAAAAAAAFROOP9UTjj//uF2//7hdv//+N7//////////////////////////////////////6CXdv9MRzT/UUs1/7Otmv///////////////////////////////////ff//uSF//7hdv/+4Xb/VE44/1ROOP8AAAAAAAAAAAAAAAAAAAAAVE4481ROOP/43HT//uiV///////////////////////29vb/X2Fj/ygqLv97fX///vvv//7hd//+55H//////////////////////9TU1f9AQUT/MTI2/7O0tf//8cH//uF2//jcdP9UTjj/VE448wAAAAAAAAAAAAAAAAAAAABUTjjaVE44/+vQb//+7rP//////////////////////5eYmv8RExf/ERMX/xETF//BwsP//uWG//7usf//////////////////////UFFU/xETF/8RExf/HyEl//z13f/+4Xb/6tBv/1ROOP9TTjjZAAAAAAAAAAAAAAAAAAAAAFVPN69UTjj/yrVj//7vtP//////////////////////lpaY/xETF/8RExf/ERMX/8DAwf/+5Yf//u6x//////////////////////9PUFP/ERMX/xETF/8eICT/+/Tc//7hdv/Js2L/VE44/1ROOLEAAAAAAAAAAAAAAABUTjlVV1I59JCBTv/iyWz//uiX///////////////////////19fX/W1xf/yUmKv92d3n//vvx//7hd//+55P//////////////////////9HS0v87PUD/LC4x/7Cwsv//8sL//uF2/9jAaP94bUX/VE44+FRPOWcAAAAAVEw5Q1dQOf7Su2b/7dJw//zfdv/94Hb///jg///////////////////////////////////////+7rP//uF2//7hdv//99n///////////////////////////////////34//7lhv/+4Xb//uF2//fbc/+ikVT/VE44/1VPOFdVTji7gnZJ//PYc/+djVP/nY5S//bac//944T///rq//////////////////////////////TL//7hd//+4Xb//uF2//7jgf//+OD////////////////////////99v/+6Zr//uB2/9a+Z/+YiVH/sZ9Z//XZc/9UTjj/VU440FRPOOBrYkD/+t50//nddf/+4Xb/ybNi/5KDTv/123n//u+0///33f//+eX///XS//7qoP/+4Xb//uF2//7hdv/+4Xb//uF2//7hd//+66P///PH///0zP/+7rP//uOA//XZc/+hkVT/6c9u//fbc//t0nD/28Np/1ROOP9UTjj1VU43wVROOP9+ckf/sqBb/4x+Tf9UTjj/VE44/2hfP//ArF//+dx0//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//7hdv/+4Xb//uF2//jcdP/ArF//Z18//1ROOP9dVTv/o5JV/6qZV/9lXT7/VE44/1NNONZUTDlDVE44/FROOP9UTjj/VE44/1ROOP9UTzjjVE44/1ROOP9fVzv/koRP/7ShW//UvWf/581t//HWcf/63nT/+t50//HWcf/nzW3/1L1n/7ShW/+ShE//X1c7/1ROOP9UTjj/VU453FROOP9UTjj/VE44/1ROOP9UTjj+VU84VwAAAABUTzY9VE85uVROON5VTjjKVU44aQAAAAJTTTlZU04431ROOP9UTjj/VE44/1ROOP9UTjj/VE44/1ROOP9UTjj/VE44/1ROOP9UTjj/VE44/1ROOP9UTjj/U0443FNNOFYAAAABVE44W1ROOMNTTjjfVE44wFRNOEkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUDUk43QVRPOJJUTzi8VE443lROOO5UTjjuVE44/1ROOP9UTjjxVE447lROOONUTzi8VE43j1RPNj2AgAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADgAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAf8AAP//////KAAAABAAAAAgAAAAAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABETFwAfICMALiwnAFdOMQBUTjgAdWU3AHhoNAB7c04AqpJIAKWSVAB0jMMAyKdOAI6ZpgCmo4kAyLNyAMKyegDPu3kAyr+PAMzBlgDz1XQA/913AP/fdwD/33gA/+F1AP/geQD+4XYA5+HSAPX2+wD3+v8A+/z/APv+/wD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgBBkZGRkZGRkZGRkZGQQgIAQZGRkZGRkZGRkZGRkEICAEGRkZGRkZGRkZGRkZBCAgBBkZGRkZGRkZGRkZGQQgIAQZGRkZGRkZGRkZGRkEICAEGRkZGRkZGRkZGRkZBCAgBBkZGRkZEA8ZFRQUGQQgIAQZGRkYCh0dChkUFBkEICAEGRUZGQ0KCgwZFxYZBCAgBBkTHx8OAQEOHx8TGQQgIAQZGh4AAhkZGh0AAhkEIAQGCxofAAIZGRofAAILBQQECwgOGxwOGRkOHx8OCAsEIAQHCAsLGRkZGRIRCQcEICAgICAHBwMEBAMHByAgICAgICAgICAgICAgICAgICAggAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAAAAAAAAAAAAIABAADwDwAA//8AAA==">
<style>.sf-hidden {
display: none !important
}</style>
<link rel=canonical href=http://localhost:8080/pkg/rockfic.com/orm/>
<meta http-equiv=content-security-policy
content="default-src 'none'; font-src 'self' data:; img-src 'self' data:; style-src 'unsafe-inline'; media-src 'self' data:; script-src 'unsafe-inline' data:; object-src 'self' data:; frame-src 'self' data:;">
<style>img[src="data:,"], source[src="data:,"] {
display: none !important
}</style>
</head>
<body cz-shortcut-listen=true>
<div id=lowframe
style="position:fixed;bottom:0;left:0;height:0;width:100%;border-top:thin solid grey;background-color:white;overflow:auto">
...
</div>
<div id=topbar class=wide>
<div class=container>
<div class=top-heading id=heading-wide><a href=http://localhost:8080/pkg/>Go Documentation Server</a></div>
<div class="top-heading sf-hidden" id=heading-narrow></div>
<a href=# id=menu-button class=sf-hidden></a>
<form method=GET action=/search>
<div id=menu style=min-width:60px>
<span class=search-box><input type=search id=search name=q placeholder=Search aria-label=Search required
value><button type=submit><span><svg width=24 height=24
viewBox="0 0 24 24"><title>submit search</title><path
d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path><path
d="M0 0h24v24H0z" fill=none></path></svg></span></button></span>
</div>
</form>
</div>
</div>
<div id=page class=wide style=outline:0px tabindex=-1>
<div class=container>
<h1>
Package orm
<span class=text-muted></span>
</h1>
<div id=nav></div>
<div id=short-nav>
<dl>
<dd><code>import "rockfic.com/orm"</code></dd>
</dl>
<dl>
<dd><a href=#pkg-overview class=overviewLink>Overview</a></dd>
<dd><a href=#pkg-index class=indexLink>Index</a></dd>
<dd><a href=#pkg-subdirectories>Subdirectories</a></dd>
</dl>
</div>
<div id=pkg-overview class=toggleVisible>
<div class="collapsed sf-hidden">
</div>
<div class=expanded>
<h2 class=toggleButton title="Click to hide Overview section">Overview ▾</h2>
</div>
</div>
<div id=pkg-index class=toggleVisible>
<div class="collapsed sf-hidden">
</div>
<div class=expanded>
<h2 class=toggleButton title="Click to hide Index section">Index ▾</h2>
<div id=manual-nav>
<dl>
<dd><a href=#pkg-constants>Constants</a></dd>
<dd><a href=#pkg-variables>Variables</a></dd>
<dd><a href=#Connect>func Connect(uri string, dbName string)</a></dd>
<dd><a href=#Create>func Create(d any) any</a></dd>
<dd><a href=#CreateSlice>func CreateSlice[T any](d T) []*T</a></dd>
<dd><a href=#Counter>type Counter</a></dd>
<dd><a href=#Document>type Document</a></dd>
<dd>&nbsp; &nbsp; <a href=#Document.Append>func (d *Document) Append(field string, a
...interface{}) error</a></dd>
<dd>&nbsp; &nbsp; <a href=#Document.Delete>func (d *Document) Delete() error</a></dd>
<dd>&nbsp; &nbsp; <a href=#Document.Pull>func (d *Document) Pull(field string, a ...any)
error</a></dd>
<dd>&nbsp; &nbsp; <a href=#Document.Remove>func (d *Document) Remove() error</a></dd>
<dd>&nbsp; &nbsp; <a href=#Document.Save>func (d *Document) Save() error</a></dd>
<dd>&nbsp; &nbsp; <a href=#Document.Swap>func (d *Document) Swap(field string, i, j int)
error</a></dd>
<dd><a href=#DocumentSlice>type DocumentSlice</a></dd>
<dd>&nbsp; &nbsp; <a href=#DocumentSlice.Delete>func (d *DocumentSlice) Delete() error</a></dd>
<dd>&nbsp; &nbsp; <a href=#DocumentSlice.Remove>func (d *DocumentSlice) Remove() error</a></dd>
<dd>&nbsp; &nbsp; <a href=#DocumentSlice.Save>func (d *DocumentSlice) Save() error</a></dd>
<dd><a href=#GridFSFile>type GridFSFile</a></dd>
<dd><a href=#HasID>type HasID</a></dd>
<dd><a href=#HasIDSlice>type HasIDSlice</a></dd>
<dd><a href=#IDocument>type IDocument</a></dd>
<dd><a href=#IDocumentSlice>type IDocumentSlice</a></dd>
<dd><a href=#IModel>type IModel</a></dd>
<dd><a href=#InternalIndex>type InternalIndex</a></dd>
<dd><a href=#Model>type Model</a></dd>
<dd>&nbsp; &nbsp; <a href=#Model.Find>func (m *Model) Find(query interface{}, opts
...*options.FindOptions) (*Query, error)</a></dd>
<dd>&nbsp; &nbsp; <a href=#Model.FindByID>func (m *Model) FindByID(id interface{}) (*Query,
error)</a></dd>
<dd>&nbsp; &nbsp; <a href=#Model.FindOne>func (m *Model) FindOne(query interface{}, options
...*options.FindOneOptions) (*Query, error)</a></dd>
<dd>&nbsp; &nbsp; <a href=#Model.FindPaged>func (m *Model) FindPaged(query interface{}, page
int64, perPage int64, opts ...*options.FindOptions) (*Query, error)</a></dd>
<dd>&nbsp; &nbsp; <a href=#Model.FindRaw>func (m *Model) FindRaw(query interface{}, opts
...*options.FindOptions) (*mongo.Cursor, error)</a></dd>
<dd><a href=#Query>type Query</a></dd>
<dd>&nbsp; &nbsp; <a href=#Query.Exec>func (q *Query) Exec(result interface{})</a></dd>
<dd>&nbsp; &nbsp; <a href=#Query.JSON>func (q *Query) JSON() (string, error)</a></dd>
<dd>&nbsp; &nbsp; <a href=#Query.LoadFile>func (q *Query) LoadFile(fields ...string) *Query</a>
</dd>
<dd>&nbsp; &nbsp; <a href=#Query.Populate>func (q *Query) Populate(fields ...string) *Query</a>
</dd>
<dd><a href=#Reference>type Reference</a></dd>
<dd><a href=#TModelRegistry>type TModelRegistry</a></dd>
<dd>&nbsp; &nbsp; <a href=#TModelRegistry.Get>func (r TModelRegistry) Get(name string)
*Model</a></dd>
<dd>&nbsp; &nbsp; <a href=#TModelRegistry.Has>func (r TModelRegistry) Has(i interface{})
(string, *Model, bool)</a></dd>
<dd>&nbsp; &nbsp; <a href=#TModelRegistry.HasByName>func (r TModelRegistry) HasByName(n string)
(string, *Model, bool)</a></dd>
<dd>&nbsp; &nbsp; <a href=#TModelRegistry.Index>func (r TModelRegistry) Index(n string) int</a>
</dd>
<dd>&nbsp; &nbsp; <a href=#TModelRegistry.Model>func (r TModelRegistry) Model(mdl ...any)</a>
</dd>
</dl>
</div>
<h3>Package files</h3>
<p>
<span style=font-size:90%>
<a href=http://localhost:8080/src/rockfic.com/orm/document.go>document.go</a>
<a href=http://localhost:8080/src/rockfic.com/orm/document_internals.go>document_internals.go</a>
<a href=http://localhost:8080/src/rockfic.com/orm/document_slice.go>document_slice.go</a>
<a href=http://localhost:8080/src/rockfic.com/orm/errors.go>errors.go</a>
<a href=http://localhost:8080/src/rockfic.com/orm/gridfs.go>gridfs.go</a>
<a href=http://localhost:8080/src/rockfic.com/orm/idcounter.go>idcounter.go</a>
<a href=http://localhost:8080/src/rockfic.com/orm/indexes.go>indexes.go</a>
<a href=http://localhost:8080/src/rockfic.com/orm/model.go>model.go</a>
<a href=http://localhost:8080/src/rockfic.com/orm/query.go>query.go</a>
<a href=http://localhost:8080/src/rockfic.com/orm/registry.go>registry.go</a>
<a href=http://localhost:8080/src/rockfic.com/orm/testing.go>testing.go</a>
<a href=http://localhost:8080/src/rockfic.com/orm/util.go>util.go</a>
</span>
</p>
</div>
</div>
<h2 id=pkg-constants>Constants <a class="permalink sf-hidden" href=#pkg-constants></a></h2>
<pre>const (
<span id=OP_FIND_ONE>OP_FIND_ONE</span> = "findOne"
<span id=OP_FIND_PAGED>OP_FIND_PAGED</span> = "findPaged"
<span id=OP_FIND_ALL>OP_FIND_ALL</span> = "findAll"
<span id=OP_FIND>OP_FIND</span> = "find"
)</pre>
<pre>const <span id=COUNTER_COL>COUNTER_COL</span> = "@counters"</pre>
<h2 id=pkg-variables>Variables <a class="permalink sf-hidden" href=#pkg-variables></a></h2>
<pre>var (
<span id=ErrNotASlice>ErrNotASlice</span> = <a href=http://localhost:8080/pkg/errors/>errors</a>.<a
href=http://localhost:8080/pkg/errors/#New>New</a>("Current object or field is not a slice!")
<span id=ErrNotAStruct>ErrNotAStruct</span> = <a href=http://localhost:8080/pkg/errors/>errors</a>.<a
href=http://localhost:8080/pkg/errors/#New>New</a>("Current object or field is not a struct!")
<span id=ErrOutOfBounds>ErrOutOfBounds</span> = <a href=http://localhost:8080/pkg/errors/>errors</a>.<a
href=http://localhost:8080/pkg/errors/#New>New</a>("Index(es) out of bounds!")
<span id=ErrAppendMultipleDocuments>ErrAppendMultipleDocuments</span> = <a href=http://localhost:8080/pkg/errors/>errors</a>.<a
href=http://localhost:8080/pkg/errors/#New>New</a>("Cannot append to multiple documents!")
<span id=ErrNotSliceOrStruct>ErrNotSliceOrStruct</span> = <a
href=http://localhost:8080/pkg/errors/>errors</a>.<a
href=http://localhost:8080/pkg/errors/#New>New</a>("Current object or field is not a slice nor a struct!")
<span id=ErrUnsupportedID>ErrUnsupportedID</span> = <a
href=http://localhost:8080/pkg/errors/>errors</a>.<a
href=http://localhost:8080/pkg/errors/#New>New</a>("Unknown or unsupported id type provided")
)</pre>
<p>DB - The mongodb database handle
<pre>var <span id=DB>DB</span> *<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/>mongo</a>.<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/#Database>Database</a></pre>
<p>DBClient - The mongodb client
<pre>var <span id=DBClient>DBClient</span> *<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/>mongo</a>.<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/#Client>Client</a></pre>
<p>ModelRegistry - the ModelRegistry stores a map containing
pointers to Model instances, keyed by an associated
model name
<pre>var <span id=ModelRegistry>ModelRegistry</span> = <a href=http://localhost:8080/pkg/builtin/#make>make</a>(<a
href=#TModelRegistry>TModelRegistry</a>)</pre>
<p>NextStringID - Override this function with your own
string ID generator!
<pre>var <span id=NextStringID>NextStringID</span> func() <a href=http://localhost:8080/pkg/builtin/#string>string</a></pre>
<h2 id=Connect>func <a href="http://localhost:8080/src/rockfic.com/orm/registry.go?s=8614:8653#L349">Connect</a>
<a class="permalink sf-hidden" href=#Connect></a>
</h2>
<pre>func Connect(uri <a href=http://localhost:8080/pkg/builtin/#string>string</a>, dbName <a
href=http://localhost:8080/pkg/builtin/#string>string</a>)</pre>
<h2 id=Create>func <a href="http://localhost:8080/src/rockfic.com/orm/model.go?s=5453:5475#L206">Create</a>
<a class="permalink sf-hidden" href=#Create></a>
</h2>
<pre>func Create(d <a href=http://localhost:8080/pkg/builtin/#any>any</a>) <a
href=http://localhost:8080/pkg/builtin/#any>any</a></pre>
<p>Create creates a new instance of a given Document
type and returns a pointer to it.
<h2 id=CreateSlice>func <a href="http://localhost:8080/src/rockfic.com/orm/model.go?s=5819:5852#L221">CreateSlice</a>
<a class="permalink sf-hidden" href=#CreateSlice></a>
</h2>
<pre>func CreateSlice[T <a href=http://localhost:8080/pkg/builtin/#any>any</a>](d T) []*T</pre>
<p>CreateSlice - convenience method which creates a new slice
of type *T (where T is a type which embeds Document) and
returns it
<h2 id=Counter>type <a href="http://localhost:8080/src/rockfic.com/orm/idcounter.go?s=208:306#L4">Counter</a>
<a class="permalink sf-hidden" href=#Counter></a>
</h2>
<pre>type Counter struct {
<span id=Counter.Current></span> Current <a href=http://localhost:8080/pkg/builtin/#any>any</a> `bson:"current"`
<span id=Counter.Collection></span> Collection <a href=http://localhost:8080/pkg/builtin/#string>string</a> `bson:"collection"`
}
</pre>
<h2 id=Document>type <a href="http://localhost:8080/src/rockfic.com/orm/document.go?s=44:343#L1">Document</a>
<a class="permalink sf-hidden" href=#Document></a>
</h2>
<pre>type Document struct {
<span id=Document.Created></span> <span class=comment>// Created time. updated/added automatically.</span>
Created <a href=http://localhost:8080/pkg/time/>time</a>.<a href=http://localhost:8080/pkg/time/#Time>Time</a> `bson:"createdAt" json:"createdAt"`
<span id=Document.Modified></span> <span class=comment>// Modified time. updated/added automatically.</span>
Modified <a href=http://localhost:8080/pkg/time/>time</a>.<a href=http://localhost:8080/pkg/time/#Time>Time</a> `bson:"updatedAt" json:"updatedAt"`
<span class=comment>// contains filtered or unexported fields</span>
}
</pre>
<h3 id=Document.Append>func (*Document) <a
href="http://localhost:8080/src/rockfic.com/orm/document.go?s=2453:2516#L107">Append</a>
<a class="permalink sf-hidden" href=#Document.Append></a>
</h3>
<pre>func (d *<a href=#Document>Document</a>) Append(field <a href=http://localhost:8080/pkg/builtin/#string>string</a>, a ...interface{}) <a
href=http://localhost:8080/pkg/builtin/#error>error</a></pre>
<p>Append appends one or more items to `field`.
will error if this Model contains a reference
to multiple documents, or if `field` is not a
slice.
<h3 id=Document.Delete>func (*Document) <a
href="http://localhost:8080/src/rockfic.com/orm/document.go?s=1407:1440#L61">Delete</a>
<a class="permalink sf-hidden" href=#Document.Delete></a>
</h3>
<pre>func (d *<a href=#Document>Document</a>) Delete() <a
href=http://localhost:8080/pkg/builtin/#error>error</a></pre>
<p>Delete - deletes a model instance from the database
<h3 id=Document.Pull>func (*Document) <a
href="http://localhost:8080/src/rockfic.com/orm/document.go?s=3237:3290#L141">Pull</a>
<a class="permalink sf-hidden" href=#Document.Pull></a>
</h3>
<pre>func (d *<a href=#Document>Document</a>) Pull(field <a href=http://localhost:8080/pkg/builtin/#string>string</a>, a ...<a
href=http://localhost:8080/pkg/builtin/#any>any</a>) <a href=http://localhost:8080/pkg/builtin/#error>error</a></pre>
<p>Pull - removes elements from the subdocument slice stored in `field`.
<h3 id=Document.Remove>func (*Document) <a
href="http://localhost:8080/src/rockfic.com/orm/document.go?s=1740:1773#L78">Remove</a>
<a class="permalink sf-hidden" href=#Document.Remove></a>
</h3>
<pre>func (d *<a href=#Document>Document</a>) Remove() <a
href=http://localhost:8080/pkg/builtin/#error>error</a></pre>
<p>Remove - alias for Delete
<h3 id=Document.Save>func (*Document) <a
href="http://localhost:8080/src/rockfic.com/orm/document.go?s=1881:1912#L84">Save</a>
<a class="permalink sf-hidden" href=#Document.Save></a>
</h3>
<pre>func (d *<a href=#Document>Document</a>) Save() <a href=http://localhost:8080/pkg/builtin/#error>error</a></pre>
<p>Save - updates this Model in the database,
or inserts it if it doesn't exist
<h3 id=Document.Swap>func (*Document) <a
href="http://localhost:8080/src/rockfic.com/orm/document.go?s=4071:4124#L179">Swap</a>
<a class="permalink sf-hidden" href=#Document.Swap></a>
</h3>
<pre>func (d *<a href=#Document>Document</a>) Swap(field <a href=http://localhost:8080/pkg/builtin/#string>string</a>, i, j <a
href=http://localhost:8080/pkg/builtin/#int>int</a>) <a href=http://localhost:8080/pkg/builtin/#error>error</a></pre>
<p>Swap - swaps the elements at indexes `i` and `j` in the
slice stored at `field`
<h2 id=DocumentSlice>type <a href="http://localhost:8080/src/rockfic.com/orm/document_slice.go?s=132:162#L1">DocumentSlice</a>
<a class="permalink sf-hidden" href=#DocumentSlice></a>
</h2>
<pre>type DocumentSlice []<a href=#IDocument>IDocument</a></pre>
<h3 id=DocumentSlice.Delete>func (*DocumentSlice) <a
href="http://localhost:8080/src/rockfic.com/orm/document_slice.go?s=164:202#L3">Delete</a>
<a class="permalink sf-hidden" href=#DocumentSlice.Delete></a>
</h3>
<pre>func (d *<a href=#DocumentSlice>DocumentSlice</a>) Delete() <a
href=http://localhost:8080/pkg/builtin/#error>error</a></pre>
<h3 id=DocumentSlice.Remove>func (*DocumentSlice) <a
href="http://localhost:8080/src/rockfic.com/orm/document_slice.go?s=321:359#L14">Remove</a>
<a class="permalink sf-hidden" href=#DocumentSlice.Remove></a>
</h3>
<pre>func (d *<a href=#DocumentSlice>DocumentSlice</a>) Remove() <a
href=http://localhost:8080/pkg/builtin/#error>error</a></pre>
<h3 id=DocumentSlice.Save>func (*DocumentSlice) <a
href="http://localhost:8080/src/rockfic.com/orm/document_slice.go?s=384:420#L18">Save</a>
<a class="permalink sf-hidden" href=#DocumentSlice.Save></a>
</h3>
<pre>func (d *<a href=#DocumentSlice>DocumentSlice</a>) Save() <a href=http://localhost:8080/pkg/builtin/#error>error</a></pre>
<h2 id=GridFSFile>type <a
href="http://localhost:8080/src/rockfic.com/orm/gridfs.go?s=345:499#L10">GridFSFile</a>
<a class="permalink sf-hidden" href=#GridFSFile></a>
</h2>
<pre>type GridFSFile struct {
<span id=GridFSFile.ID></span> ID <a href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/bson/primitive/>primitive</a>.<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/bson/primitive/#ObjectID>ObjectID</a> `bson:"_id"`
<span id=GridFSFile.Name></span> Name <a href=http://localhost:8080/pkg/builtin/#string>string</a> `bson:"filename"`
<span id=GridFSFile.Length></span> Length <a href=http://localhost:8080/pkg/builtin/#int>int</a> `bson:"length"`
}
</pre>
<h2 id=HasID>type <a href="http://localhost:8080/src/rockfic.com/orm/model.go?s=792:841#L21">HasID</a>
<a class="permalink sf-hidden" href=#HasID></a>
</h2>
<p>HasID is a simple interface that you must implement
in your models, using a pointer receiver.
This allows for more flexibility in cases where
your ID isn't an ObjectID (e.g., int, uint, string...).
<p>and yes, those darn ugly ObjectIDs are supported :)
<pre>type HasID interface {
Id() <a href=http://localhost:8080/pkg/builtin/#any>any</a>
SetId(id <a href=http://localhost:8080/pkg/builtin/#any>any</a>)
}</pre>
<h2 id=HasIDSlice>type <a href="http://localhost:8080/src/rockfic.com/orm/model.go?s=843:866#L26">HasIDSlice</a>
<a class="permalink sf-hidden" href=#HasIDSlice></a>
</h2>
<pre>type HasIDSlice []<a href=#HasID>HasID</a></pre>
<h2 id=IDocument>type <a href="http://localhost:8080/src/rockfic.com/orm/document.go?s=344:775#L7">IDocument</a>
<a class="permalink sf-hidden" href=#IDocument></a>
</h2>
<pre>type IDocument interface {
Append(field <a href=http://localhost:8080/pkg/builtin/#string>string</a>, a ...interface{}) <a
href=http://localhost:8080/pkg/builtin/#error>error</a>
Pull(field <a href=http://localhost:8080/pkg/builtin/#string>string</a>, a ...<a
href=http://localhost:8080/pkg/builtin/#any>any</a>) <a
href=http://localhost:8080/pkg/builtin/#error>error</a>
Swap(field <a href=http://localhost:8080/pkg/builtin/#string>string</a>, i, j <a
href=http://localhost:8080/pkg/builtin/#int>int</a>) <a
href=http://localhost:8080/pkg/builtin/#error>error</a>
Delete() <a href=http://localhost:8080/pkg/builtin/#error>error</a>
Remove() <a href=http://localhost:8080/pkg/builtin/#error>error</a>
Save() <a href=http://localhost:8080/pkg/builtin/#error>error</a>
<span class=comment>// contains filtered or unexported methods</span>
}</pre>
<h2 id=IDocumentSlice>type <a href="http://localhost:8080/src/rockfic.com/orm/document_slice.go?s=13:130#L1">IDocumentSlice</a>
<a class="permalink sf-hidden" href=#IDocumentSlice></a>
</h2>
<pre>type IDocumentSlice interface {
Delete() <a href=http://localhost:8080/pkg/builtin/#error>error</a>
Remove() <a href=http://localhost:8080/pkg/builtin/#error>error</a>
Save() <a href=http://localhost:8080/pkg/builtin/#error>error</a>
<span class=comment>// contains filtered or unexported methods</span>
}</pre>
<h2 id=IModel>type <a href="http://localhost:8080/src/rockfic.com/orm/model.go?s=868:1425#L28">IModel</a>
<a class="permalink sf-hidden" href=#IModel></a>
</h2>
<pre>type IModel interface {
FindRaw(query interface{}, opts ...*<a href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/options/>options</a>.<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/options/#FindOptions>FindOptions</a>) (*<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/>mongo</a>.<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/#Cursor>Cursor</a>, <a
href=http://localhost:8080/pkg/builtin/#error>error</a>)
Find(query interface{}, opts ...*<a href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/options/>options</a>.<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/options/#FindOptions>FindOptions</a>) (*<a
href=#Query>Query</a>, <a href=http://localhost:8080/pkg/builtin/#error>error</a>)
FindByID(id interface{}) (*<a href=#Query>Query</a>, <a href=http://localhost:8080/pkg/builtin/#error>error</a>)
FindOne(query interface{}, options ...*<a href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/options/>options</a>.<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/options/#FindOneOptions>FindOneOptions</a>) (*<a
href=#Query>Query</a>, <a href=http://localhost:8080/pkg/builtin/#error>error</a>)
FindPaged(query interface{}, page <a href=http://localhost:8080/pkg/builtin/#int64>int64</a>, perPage <a
href=http://localhost:8080/pkg/builtin/#int64>int64</a>, options ...*<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/options/>options</a>.<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/options/#FindOptions>FindOptions</a>) (*<a
href=#Query>Query</a>, <a href=http://localhost:8080/pkg/builtin/#error>error</a>)
<span class=comment>// contains filtered or unexported methods</span>
}</pre>
<h2 id=InternalIndex>type <a href="http://localhost:8080/src/rockfic.com/orm/indexes.go?s=248:360#L5">InternalIndex</a>
<a class="permalink sf-hidden" href=#InternalIndex></a>
</h2>
<p>prolly won't need to use indexes, but just in case...
<pre>type InternalIndex struct {
<span id=InternalIndex.Fields></span> Fields []<a href=http://localhost:8080/pkg/builtin/#string>string</a>
<span id=InternalIndex.Options></span> Options []<a href=http://localhost:8080/pkg/builtin/#string>string</a>
<span class=comment>// contains filtered or unexported fields</span>
}
</pre>
<h2 id=Model>type <a href="http://localhost:8080/src/rockfic.com/orm/model.go?s=258:522#L5">Model</a>
<a class="permalink sf-hidden" href=#Model></a>
</h2>
<p>Model - type which contains "static" methods like
Find, FindOne, etc.
<pre>type Model struct {
<span id=Model.Indexes></span> Indexes map[<a href=http://localhost:8080/pkg/builtin/#string>string</a>][]<a
href=#InternalIndex>InternalIndex</a>
<span id=Model.Type></span> Type <a href=http://localhost:8080/pkg/reflect/>reflect</a>.<a
href=http://localhost:8080/pkg/reflect/#Type>Type</a>
<span class=comment>// contains filtered or unexported fields</span>
}
</pre>
<h3 id=Model.Find>func (*Model) <a href="http://localhost:8080/src/rockfic.com/orm/model.go?s=2599:2684#L88">Find</a>
<a class="permalink sf-hidden" href=#Model.Find></a>
</h3>
<pre>func (m *<a href=#Model>Model</a>) Find(query interface{}, opts ...*<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/options/>options</a>.<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/options/#FindOptions>FindOptions</a>) (*<a
href=#Query>Query</a>, <a href=http://localhost:8080/pkg/builtin/#error>error</a>)</pre>
<p>Find - find all documents satisfying `query`.
returns a pointer to a Query for further chaining.
<h3 id=Model.FindByID>func (*Model) <a
href="http://localhost:8080/src/rockfic.com/orm/model.go?s=3994:4050#L137">FindByID</a>
<a class="permalink sf-hidden" href=#Model.FindByID></a>
</h3>
<pre>func (m *<a href=#Model>Model</a>) FindByID(id interface{}) (*<a href=#Query>Query</a>, <a
href=http://localhost:8080/pkg/builtin/#error>error</a>)</pre>
<p>FindByID - find a single document by its _id field.
Wrapper around FindOne with an ID query as its first argument
<h3 id=Model.FindOne>func (*Model) <a
href="http://localhost:8080/src/rockfic.com/orm/model.go?s=4205:4299#L143">FindOne</a>
<a class="permalink sf-hidden" href=#Model.FindOne></a>
</h3>
<pre>func (m *<a href=#Model>Model</a>) FindOne(query interface{}, options ...*<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/options/>options</a>.<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/options/#FindOneOptions>FindOneOptions</a>) (*<a
href=#Query>Query</a>, <a href=http://localhost:8080/pkg/builtin/#error>error</a>)</pre>
<p>FindOne - find a single document satisfying `query`.
returns a pointer to a Query for further chaining.
<h3 id=Model.FindPaged>func (*Model) <a
href="http://localhost:8080/src/rockfic.com/orm/model.go?s=3461:3578#L120">FindPaged</a>
<a class="permalink sf-hidden" href=#Model.FindPaged></a>
</h3>
<pre>func (m *<a href=#Model>Model</a>) FindPaged(query interface{}, page <a
href=http://localhost:8080/pkg/builtin/#int64>int64</a>, perPage <a
href=http://localhost:8080/pkg/builtin/#int64>int64</a>, opts ...*<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/options/>options</a>.<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/options/#FindOptions>FindOptions</a>) (*<a
href=#Query>Query</a>, <a href=http://localhost:8080/pkg/builtin/#error>error</a>)</pre>
<p>FindPaged - Wrapper around FindAll with the Skip and Limit options populated.
returns a pointer to a Query for further chaining.
<h3 id=Model.FindRaw>func (*Model) <a href="http://localhost:8080/src/rockfic.com/orm/model.go?s=2296:2391#L80">FindRaw</a>
<a class="permalink sf-hidden" href=#Model.FindRaw></a>
</h3>
<pre>func (m *<a href=#Model>Model</a>) FindRaw(query interface{}, opts ...*<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/options/>options</a>.<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/options/#FindOptions>FindOptions</a>) (*<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/>mongo</a>.<a
href=http://localhost:8080/pkg/go.mongodb.org/mongo-driver/mongo/#Cursor>Cursor</a>, <a
href=http://localhost:8080/pkg/builtin/#error>error</a>)</pre>
<p>FindRaw - find documents satisfying `query` and return a plain mongo cursor.
<h2 id=Query>type <a href="http://localhost:8080/src/rockfic.com/orm/query.go?s=246:384#L7">Query</a>
<a class="permalink sf-hidden" href=#Query></a>
</h2>
<pre>type Query struct {
<span class=comment>// contains filtered or unexported fields</span>
}
</pre>
<h3 id=Query.Exec>func (*Query) <a href="http://localhost:8080/src/rockfic.com/orm/query.go?s=11608:11648#L491">Exec</a>
<a class="permalink sf-hidden" href=#Query.Exec></a>
</h3>
<pre>func (q *<a href=#Query>Query</a>) Exec(result interface{})</pre>
<p>Exec - executes the query and puts its results into the
provided argument.
<p>Will panic if called more than once on the same Query instance.
<h3 id=Query.JSON>func (*Query) <a href="http://localhost:8080/src/rockfic.com/orm/query.go?s=11299:11337#L479">JSON</a>
<a class="permalink sf-hidden" href=#Query.JSON></a>
</h3>
<pre>func (q *<a href=#Query>Query</a>) JSON() (<a href=http://localhost:8080/pkg/builtin/#string>string</a>, <a
href=http://localhost:8080/pkg/builtin/#error>error</a>)</pre>
<p>JSON - marshals this Query's results into json format
<h3 id=Query.LoadFile>func (*Query) <a
href="http://localhost:8080/src/rockfic.com/orm/query.go?s=4479:4528#L188">LoadFile</a>
<a class="permalink sf-hidden" href=#Query.LoadFile></a>
</h3>
<pre>func (q *<a href=#Query>Query</a>) LoadFile(fields ...<a href=http://localhost:8080/pkg/builtin/#string>string</a>) *<a
href=#Query>Query</a></pre>
<p>LoadFile - loads the contents of one or more files
stored in gridFS into the fields named by `fields`.
<p>gridFS fields can be either a `string` or `[]byte`, and are
tagged with `gridfs:"BUCKET,FILE_FORMAT`
where:
<ul>
<li>`BUCKET` is the name of the bucket where the files are stored
<li>`FILE_FORMAT` is any valid go template string that resolves to
the unique file name.
all exported values and methods present in the surrounding
struct can be used in this template.
</ul>
<h3 id=Query.Populate>func (*Query) <a
href="http://localhost:8080/src/rockfic.com/orm/query.go?s=4968:5017#L210">Populate</a>
<a class="permalink sf-hidden" href=#Query.Populate></a>
</h3>
<pre>func (q *<a href=#Query>Query</a>) Populate(fields ...<a href=http://localhost:8080/pkg/builtin/#string>string</a>) *<a
href=#Query>Query</a></pre>
<p>Populate populates document references via reflection
<h2 id=Reference>type <a href="http://localhost:8080/src/rockfic.com/orm/registry.go?s=348:640#L9">Reference</a>
<a class="permalink sf-hidden" href=#Reference></a>
</h2>
<p>Reference stores a typed document reference
<pre>type Reference struct {
<span class=comment>// owning model name</span>
<span id=Reference.Model></span> Model <a href=http://localhost:8080/pkg/builtin/#string>string</a>
<span class=comment>// the name of the struct field</span>
<span id=Reference.FieldName></span> FieldName <a href=http://localhost:8080/pkg/builtin/#string>string</a>
<span class=comment>// index of field in owning struct</span>
<span id=Reference.Idx></span> Idx <a href=http://localhost:8080/pkg/builtin/#int>int</a>
<span class=comment>// the type of the referenced object</span>
<span id=Reference.HydratedType></span> HydratedType <a href=http://localhost:8080/pkg/reflect/>reflect</a>.<a
href=http://localhost:8080/pkg/reflect/#Type>Type</a>
<span class=comment>// field kind (struct, slice, ...)</span>
<span id=Reference.Kind></span> Kind <a href=http://localhost:8080/pkg/reflect/>reflect</a>.<a
href=http://localhost:8080/pkg/reflect/#Kind>Kind</a>
<span class=comment>// contains filtered or unexported fields</span>
}
</pre>
<h2 id=TModelRegistry>type <a href="http://localhost:8080/src/rockfic.com/orm/registry.go?s=758:795#L32">TModelRegistry</a>
<a class="permalink sf-hidden" href=#TModelRegistry></a>
</h2>
<pre>type TModelRegistry map[<a href=http://localhost:8080/pkg/builtin/#string>string</a>]*<a
href=#Model>Model</a></pre>
<h3 id=TModelRegistry.Get>func (TModelRegistry) <a
href="http://localhost:8080/src/rockfic.com/orm/registry.go?s=5521:5568#L227">Get</a>
<a class="permalink sf-hidden" href=#TModelRegistry.Get></a>
</h3>
<pre>func (r <a href=#TModelRegistry>TModelRegistry</a>) Get(name <a
href=http://localhost:8080/pkg/builtin/#string>string</a>) *<a href=#Model>Model</a></pre>
<h3 id=TModelRegistry.Has>func (TModelRegistry) <a
href="http://localhost:8080/src/rockfic.com/orm/registry.go?s=4455:4520#L183">Has</a>
<a class="permalink sf-hidden" href=#TModelRegistry.Has></a>
</h3>
<pre>func (r <a href=#TModelRegistry>TModelRegistry</a>) Has(i interface{}) (<a
href=http://localhost:8080/pkg/builtin/#string>string</a>, *<a href=#Model>Model</a>, <a
href=http://localhost:8080/pkg/builtin/#bool>bool</a>)</pre>
<p>Has returns the model typename and Model instance corresponding
to the argument passed, as well as a boolean indicating whether it
was found. otherwise returns `"", nil, false`
<h3 id=TModelRegistry.HasByName>func (TModelRegistry) <a
href="http://localhost:8080/src/rockfic.com/orm/registry.go?s=4797:4863#L197">HasByName</a>
<a class="permalink sf-hidden" href=#TModelRegistry.HasByName></a>
</h3>
<pre>func (r <a href=#TModelRegistry>TModelRegistry</a>) HasByName(n <a
href=http://localhost:8080/pkg/builtin/#string>string</a>) (<a
href=http://localhost:8080/pkg/builtin/#string>string</a>, *<a href=#Model>Model</a>, <a
href=http://localhost:8080/pkg/builtin/#bool>bool</a>)</pre>
<p>HasByName functions almost identically to Has,
except that it takes a string as its argument.
<h3 id=TModelRegistry.Index>func (TModelRegistry) <a
href="http://localhost:8080/src/rockfic.com/orm/registry.go?s=5019:5062#L205">Index</a>
<a class="permalink sf-hidden" href=#TModelRegistry.Index></a>
</h3>
<pre>func (r <a href=#TModelRegistry>TModelRegistry</a>) Index(n <a
href=http://localhost:8080/pkg/builtin/#string>string</a>) <a
href=http://localhost:8080/pkg/builtin/#int>int</a></pre>
<p>Index returns the index at which the Document struct is embedded
<h3 id=TModelRegistry.Model>func (TModelRegistry) <a
href="http://localhost:8080/src/rockfic.com/orm/registry.go?s=5740:5781#L237">Model</a>
<a class="permalink sf-hidden" href=#TModelRegistry.Model></a>
</h3>
<pre>func (r <a href=#TModelRegistry>TModelRegistry</a>) Model(mdl ...<a
href=http://localhost:8080/pkg/builtin/#any>any</a>)</pre>
<p>Model registers models in the ModelRegistry, where
they can be accessed via a model's struct name
<h2 id=pkg-subdirectories>Subdirectories <a class="permalink sf-hidden" href=#pkg-subdirectories></a></h2>
<div class=pkg-dir>
<table>
<tbody>
<tr>
<th class=pkg-name>Name</th>
<th class=pkg-synopsis>Synopsis</th>
</tr>
<tr>
<td colspan=2><a href=http://localhost:8080/pkg/rockfic.com/>..</a></td>
</tr>
<tr>
<td class=pkg-name style=padding-left:0px>
<a href=http://localhost:8080/pkg/rockfic.com/orm/muck/>muck</a>
</td>
<td class=pkg-synopsis>
You can edit this code! Click here and start typing.
</td>
</tr>
</table>
</div>
<div id=footer>
Build version go1.23.0.<br>
Except as <a href=https://developers.google.com/site-policies#restrictions>noted</a>,
the content of this page is licensed under the
Creative Commons Attribution 3.0 License,
and code is licensed under a <a href=http://localhost:8080/LICENSE>BSD license</a>.<br>
<a href=https://golang.org/doc/tos.html>Terms of Service</a> |
<a href=https://www.google.com/intl/en/policies/privacy/>Privacy Policy</a>
</div>
</div>
</div>