a,a:active,a:hover{outline:0}h1{margin:.67em 0}b,dt,strong{font-weight:700}h1 .guilabel,h2 .guilabel,h3 .guilabel,h4 .guilabel,h5 .guilabel,h6 .guilabel{font-style:italic}a>em,address,cite{font-style:normal}q{quotes:"\201C""\201D""\2018""\2019"}sub,sup{font-size:75%;line-height:0;vertical-align:baseline}textarea{vertical-align:top}sup{top:-.5em}sub{bottom:-.25em}body.no-scroll,svg:not(:root){overflow:hidden}h1,h2,h3,hr{margin-top:20px}h1,h2,h3,h4,h5,h6,ol,ul{margin-bottom:10px}button,input,select,textarea{font-size:100%;margin:0}hr{margin-bottom:20px}button,input{line-height:normal}body{line-height:1.428571429}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}table{border-spacing:0;max-width:100%}@media print{blockquote,img,pre,tr{page-break-inside:avoid}*{background:0 0!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}a,a:visited{text-decoration:underline}blockquote,pre{border:1px solid #999}thead{display:table-header-group}@page{margin:2cm .5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}body,div.highlight{background-color:#fff}body{font-size:14px}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button,input,select[multiple],textarea{background-image:none}a:focus,input[type=checkbox]:focus,input[type=file]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}label{display:inline-block}hr{border-top:1px solid #eee;height:0}small{font-size:85%}div.body td{text-align:left}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#999;font-weight:400;line-height:1}h4,h5,h6{margin-top:10px}blockquote p:last-child,div.body li>p.first,li div.line-block,ol ol,ol ul,ul ol,ul ul{margin-bottom:0}address{margin-bottom:20px}dd,dt{line-height:1.428571429}blockquote{border-left:5px solid #eee;margin:0 0 20px;padding:10px 20px}blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}blockquote small{color:#999;display:block}blockquote small:before{content:"\2014 \00A0"}blockquote:after,blockquote:before,q:after,q:before{content:""}.container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.container:after,.container:before{content:" ";display:table}.container:after{clear:both}.fa-pull-left,.fa4-pull-left{float:left}@media (min-width:768px){.container{max-width:750px}}@media (min-width:992px){.container{max-width:970px}}label:not([for*=-message-rating]){font-weight:700;margin-bottom:5px}input[type=checkbox]{line-height:normal;margin:4px 0 0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}dl{margin-bottom:15px}input[type=checkbox][disabled]{cursor:not-allowed}dd,dd table,dd ul{margin-bottom:10px}.fa-pull-right,.fa4-pull-right{float:right}input[type=text]:disabled{color:#333}th{text-align:left}.fa-fw,.fa-li,.fa-stack-1x,.fa-stack-2x,.fa4-fw,.fa4-li{text-align:center}.line-block .line-block{margin-bottom:0;margin-top:0}.fa,.fab,.fal,.far,.fas,[class*=icon-]{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-style:normal;font-variant:normal;line-height:1}.far,[class*=icon-]{font-weight:400}@media (min-width:1200px){.container{max-width:1170px}}.fa-stack,.fa4{display:inline-block}@font-face{font-family:icomoon;font-style:normal;font-weight:800;src:url('/cats-d8c4vu/media.mongodb.org/fonts/icomoon.woff?qcwgdc')) format("woff"),url('/cats-d8c4vu/media.mongodb.org/fonts/icomoon.svg?qcwgdc#icomoon')) format("svg")}[class*=icon-]{speak:none;font-feature-settings:normal;font-family:icomoon}:root{--black:#001e2b;--gray-dark4:#112733;--gray-dark3:#1c2d38;--gray-dark2:#3d4f58;--gray-dark1:#5c6c75;--gray-base:#889397;--gray-light1:#c1c7c6;--gray-light2:#e8edeb;--gray-light3:#f9fbfa;--mongodb-green:#13aa52;--mongodb-green:var(--leaf);--blue-dark3:#0c2657;--blue-dark2:#083c90;--blue-dark1:#1254b7;--blue-base:#016bf8;--blue-light1:#0498ec;--blue-light2:#c3e7fe;--blue-light3:#e1f7ff;--green-dark3:#023430;--green-dark2:#00684a;--green-dark1:#00a35c;--green-base:#00ed64;--green-light1:#71f6ba;--green-light2:#c0fae6;--green-light3:#e3fcf7;--leaf:#13aa52;--fern:#12924f;--forest:#116149;--fog:#b8c4c2;--graphite:#21313c;--white:#fff;--day-spa:#e8edeb;--spring:#91c851;--daffodile:#ffdd49;--mongodb-green-light:#c2e0b4;--mongodb-green-neutral:#eff6ec;--green-secondary:#3c6626;--blush:#f4758b;--blush-light:#f9c7d0;--blush-neutral:#fdf1f2;--air:#c2deff;--air-light:#e7f0f9;--air-neutral:#f3f7fd;--marigold:#f4b65d;--marigold-light:#f6d29d;--marigold-neutral:#fff7ee;--tomato:#ef4c4c;--light-grey-green:#c2e0b4;--light-tan:#f6d29d;--charcoal-grey-two:#424950;--grey-primary:#b3bbc1;--grey-secondary:#616161;--light-grey-primary:#e0e7e8;--light-grey-secondary:#f5f6f7;--primary-shadow:rgba(0,0,0,.1);--mms-alert-blue:#43b1e5;--mms-alert-red:#ef4c4c;--mms-alert-red-dark:color(var(--alert-red) tint(25%));--mms-gray1:#464c4f;--mms-gray5:#babdbe;--mms-green2:#13aa52;--mms-warning-text:#ffb618;--sans-serif:"Euclid Circular A","Helvetica Neue",sans-serif;--monospace:"Source Code Pro",monospace;--hr-style:1px solid #e0e7e8;--hr-style:1px solid var(--light-grey-primary);--image-chevron:url('data:image/svg+xml;utf8,') no-repeat center;--chevron-width:16px;--image-caret:url('data:image/svg+xml;utf8,') no-repeat center;--caret-width:10px;--exclamation-circle:"\f06a";--check-circle:"\f058";--lg-color-dark-mode:var(--day-spa)} /*! * Font Awesome Free 5.3.1 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */.fa,.fab,.fal,.far,.fas{font-feature-settings:normal;display:inline-block;text-rendering:auto}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x,.fa-stack-2x,.fa4-2x,.fa4-stack-2x{font-size:2em}.fa-3x,.fa4-3x{font-size:3em}.fa-4x,.fa4-4x{font-size:4em}.fa-5x,.fa4-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{width:1.25em}.fa-ul{margin-left:2.5em;padding-left:0}.fa-li{left:-2em;line-height:inherit;position:absolute;width:2em}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa.fa-pull-left,.fa4.fa4-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fa4.fa4-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin,.fa4-spin{animation:fa-spin 2s linear infinite}.fa-pulse,.fa4-pulse{animation:fa-spin 1s steps(8) infinite}.fa-rotate-90,.fa4-rotate-90{transform:rotate(90deg)}.fa-rotate-180,.fa4-rotate-180{transform:rotate(180deg)}.fa-rotate-270,.fa4-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal,.fa4-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical,.fa4-flip-vertical{transform:scaleY(-1)}.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90,:root .fa4-flip-horizontal,:root .fa4-flip-vertical,:root .fa4-rotate-180,:root .fa4-rotate-270,:root .fa4-rotate-90{filter:none}.fa-stack{height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa4-li{position:absolute}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;width:100%}.fa-stack-1x,.fa4-stack-1x{line-height:inherit}.fa-inverse,.fa4-inverse{color:#fff}.fa-500px:before,.fa4-500px:before{content:"\f26e"}@font-face{font-family:Font Awesome\ 5 Brands;font-style:normal;font-weight:400;src:url('/cats-d8c4vu/use.fontawesome.com/releases/v5.3.1/webfonts/fa-brands-400.woff')) format("woff"),url('/cats-d8c4vu/use.fontawesome.com/releases/v5.3.1/webfonts/fa-regular-400.eot?#iefix')) format("embedded-opentype"),url('/cats-d8c4vu/use.fontawesome.com/releases/v5.3.1/webfonts/fa-regular-400.svg#fontawesome')) format("svg")}@font-face{font-family:Font Awesome\ 5 Free;font-style:normal;font-weight:900;src:url('/cats-d8c4vu/use.fontawesome.com/releases/v5.3.1/webfonts/fa-solid-900.woff')) format("woff"),url('/cats-d8c4vu/use.fontawesome.com/releases/v5.3.1/webfonts/fa-solid-900.svg#fontawesome')) format("svg")}.fa,.fas{font-weight:900} /*! * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */@font-face{font-family:FontAwesome4;font-style:normal;font-weight:400;src:url(/docs/manual/static/fontawesome4-webfont-20fd1704ea223900efa9fd4e869efb08.woff2) format("woff2"),url(/docs/manual/static/fontawesome4-webfont-f691f37e57f04c152e2315ab7dbad881.woff) format("woff"),url(/docs/manual/static/fontawesome4-webfont-1e59d2330b4c6deb84b340635ed36249.ttf) format("truetype")}.fa4{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:14px/1 FontAwesome4;font-size:inherit}.charts-icon,.mms-icon,.mms-org-icon{-moz-osx-font-smoothing:grayscale;display:inline-block;font-style:normal}.charts-icon,body{-webkit-font-smoothing:antialiased}.fa4-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa4-stack,img{vertical-align:middle}.fa4-fw{width:1.28571429em}.fa4-ul{margin-left:2.14285714em;padding-left:0}.fa4-li{left:-2.14285714em;top:.14285714em;width:2.14285714em}.fa4-li.fa4-lg{left:-1.85714286em}.fa4-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.fa4-stack{display:inline-block;height:2em;line-height:2em;position:relative;width:2em}.fa4-stack-1x,.fa4-stack-2x{left:0;position:absolute;text-align:center;width:100%}.mms-icon,.mms-org-icon{font-size:16px;position:relative}.mms-icon:after,.mms-org-icon:after{left:0;position:absolute;top:0}.mms-icon{font-family:MMSIcons-Regular}.mms-org-icon{font-family:MMSOrgIcons-Regular}.charts-icon{font-feature-settings:normal;font-family:ChartsIcons;font-variant:normal;line-height:1}dd{margin-top:3px}div.body{transition:opacity .25s linear}.first{margin-top:0!important}.linenos pre{background-color:transparent}dd{margin-left:30px}.line-block{display:block;margin-bottom:1em;margin-top:1em}.line-block .line-block{margin-left:1.5em}.linenos{float:left;padding-top:24px;width:2em}@media print{div.document{margin:0!important;width:100%}}div td pre{background-color:transparent}@font-face{font-family:MMSIcons-Regular;font-style:normal;font-weight:400;src:url(/docs/manual/static/MMSIcons-Regular-5bedbe88351f7667a2a81586d558e5ff.woff2) format("woff2"),url(/docs/manual/static/MMSIcons-Regular-d25e35eae17c6f40768c83dc7149b0a8.woff) format("woff"),url(/docs/manual/static/MMSIcons-Regular-960c944a07e1714bb4a828f117e5aa8b.ttf) format("truetype")}@font-face{font-family:MMSOrgIcons-Regular;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAALEAAoAAAAABlQAAAJ6AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlYAgkoKgVyBbQsGAAE2AiQDCAQgBYRtBykbpAVAHoVxw11igYhF0ZQi3vhrPPy3X3rf/AkAOUCVE0nsolYFXGSMASygZQfk6qrrqjaqDkhX7+Ba23CtFxGVfT15MdkNtaQJb3gzixBFvNLIn4BP6P9zLl6J538+xwywCQysaGQzLLA1yDT6QugQD/3Y73lRtZGPXqSZh3umhMjiniq16TKd4q5sH/MRBBJVUFGtnNYrwdVBAQZdjMQgAIFBkGwxldgkJ9xQLUsJGxXKuA/UvkkAKIafukAwyWQkbANOAJAIyANj3RMCkvHD7BcFt7esqE3N6K7Oy7yGj0EMww/xIn68OP06oml0OHXiSLO9xga9aXJ5cXVOFY4u5vEhmi47mH6qhi/6XQe92B6D/J9/e1Yj59f4mfs3S6Vsab4jitvfMJWr+b1oCvCAwzE/V8Jj4ZOYGoNx39fiMELo4KXtvbbeGt95Vzk7km+1ik2YQkG44nn/ZXlrPQzX+rWHRo+hrvfcUSALLiu0Dwscz78qBl7n9taAbljT9IsV5GrQSCTuhm/rkAUkaGQLLNByTUq0cFQLt3EIAuQIBQqwsESY0hEBRqDYMgqzUNgioNZkFQrdYiCOpNaQRBgw6Yr8h1mDSUg9BqDZJmn6HQ6gzJxBtU6fYH1VrDF+qVoiPVYDQsF8dko73NbXZwSv6zLLRAPq542RlZymBFfr7ZlEOI8dAhPLUU1n7lU1p5q2cbS4S5shLQyMDJANMgDPQoWm0ojezauJkhGWuORzMwaWKnge0R4XMxnoWLEyVbhiy7uO3h8pqZ5CBFjChGmIsDpYGLkz6VnZ0LxQ1zsTLQITKYEYRbiUyZjPyeGXRcHHwA9SPfiE4K) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAQYAAoAAAAABlQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAD4AAABWVr1jO2NtYXAAAAE0AAAAPAAAAUoApAFvZ2x5ZgAAAXAAAADcAAAA3CHU3wZoZWFkAAACTAAAAC0AAAA2EIIX4WhoZWEAAAJ8AAAAGAAAACQIXQQDaG10eAAAApQAAAAIAAAACAgAAABsb2NhAAACnAAAAAYAAAAGAG4AAG1heHAAAAKkAAAAHgAAACABDgBVbmFtZQAAAsQAAAE7AAACbdWMZSRwb3N0AAAEAAAAABUAAAApARAAAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGBwYPBk8WUDcGBaIMCOIAACY/wesAAB4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZiALM/8EqwPT/HVD1QMDIxkA9wEhYyWAEALzJBw8AAgAAAAAEAAPkACMASAAAJSYvAT4BNS4BJw4BBzM+ATceARcOAQcuAScjHgEXMjY3FzcwARYfAR4BMzI2PwEXHgE7ATUjJy4BDgEPAScuAQ8BIxUzMj8BMAQADmRyKS4E67Cj4xZpFah2hLADA7CEWIwqczDMhUiBNeVJ/TAEHiIIFw0QGgY9NAcZD2hIWgcaHxkGQzEOMBJZutAVEDtmDmRxNYBIsOkEA8qccJACA6+Eg68EAVRGc40CLinjSQHDBy0zCwwSD5doDQ9nsg4PAREPp0kUBRFYZw87eJxjYGRgYADigzb/wuP5bb4ycLMwgMC1jS8bkGkWBuYnQIqDgQnEAwBGJQrYAAAAeJxjYGRgYGEAghgwCWIzMqACJgALRgBtBAAAAAQAAAAAAAAAAG4AAHicY2BkYGBgYvAEYgYwi4GBCwgZGP6D+QwAD88BZAAAeJx1j0tOwzAQhn/3BbQSqqhgh+QFYgEofYhVN+yafRfdp63Th9I4ctxKPQDn4QicgCPQG3AHftIBoVJiefzNN5NxAuACOyjsn0vuPSucMttzCSe4Fi7T3whXyA/CVTTwKFyjfxKu4x6hcAMtOE5QlTNmd3gWVmjiRbiEc7wKl+nfhCvkd+EqrvAhXENTlYXrGKmWcAO3ahGa1LjIm6keb3WYbLO5N+77HJrZOoncoR4Zly9sqrtB56f0e0y+mfW8j3Xs7EoPbOpNklidObs0Ex/Mvc/67XYsPpjYFX/fIOV2iOB5TqExxpYxRMIzw7zw7k8+ZJxhTRsdqR7moyLmWMDyPo0uAnSOvPXf1+TY8LYerUfMPGaPxYo0KCZ+dSdcliYrakuaCX1QTPe0fbS54oP+gF2c9Ak0Y2+kAHicY2BigAAuBuwAKM8IUgMAAdYAEgAAAA==) format("woff"),url(data:font/ttf;base64,AAEAAAAKAIAAAwAgT1MvMla9YzsAAAEoAAAAVmNtYXAApAFvAAABiAAAAUpnbHlmIdTfBgAAAtwAAADcaGVhZBCCF+EAAADQAAAANmhoZWEIXQQDAAAArAAAACRobXR4CAAAAAAAAYAAAAAIbG9jYQBuAAAAAALUAAAABm1heHABDgBVAAABCAAAACBuYW1l1YxlJAAAA7gAAAJtcG9zdAEQAAAAAAYoAAAAKQABAAAEAAAAAFwEAAAAAAAEAAABAAAAAAAAAAAAAAAAAAAAAgABAAAAAQAAwT0HM18PPPUACwQAAAAAANax6YAAAAAA1rHpgAAAAAAEAAPkAAAACAACAAAAAAAAAAEAAAACAEkAAgAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAQQAAZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAEkASQQAAAAAXAQAAAAAAAABAAAAAAAABAAAAAQAAAAAAAADAAAAAwAAABwAAQAAAAAARAADAAEAAAAcAAQAKAAAAAYABAABAAIAAABJ/8AAAAAAEn/wAA/7gAAQAAAAAAAAAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbgAAAAIAAAAABAAD5AAjAEgAACUmLwE+ATUuAScOAQczPgE3HgEXDgEHLgEnIx4BFzI2Nxc3MAEWHwEeATMyNj8BFx4BOwE1IycuAQ4BDwEnLgEPASMVMzI/ATAEAA5kcikuBOuwo+MWaRWodoSwAwOwhFiMKnMwzIVIgTXlSf0wBB4iCBcNEBoGPTQHGQ9oSFoHGh8ZBkMxDjASWbrQFRA7Zg5kcTWASLDpBAPKnHCQAgOvhIOvBAFURnONAi4p40kBwwctMwsMEg+XaA0PZ7IODwERD6dJFAURWGcPOwAAABIA3gABAAAAAAAAABUAAAABAAAAAAABAAgAFQABAAAAAAACAAcAHQABAAAAAAADAAgAJAABAAAAAAAEAAgALAABAAAAAAAFAAsANAABAAAAAAAGAAgAPwABAAAAAAAKACsARwABAAAAAAALABMAcgADAAEECQAAACoAhQADAAEECQABABAArwADAAEECQACAA4AvwADAAEECQADABAAzQADAAEECQAEABAA3QADAAEECQAFABYA7QADAAEECQAGABABAwADAAEECQAKAFYBEwADAAEECQALACYBaUdlbmVyYXRlZCBieSBHbHlwaHRlckdseXBodGVyUmVndWxhckdseXBodGVyR2x5cGh0ZXJWZXJzaW9uIDEuMEdseXBodGVyR2VuZXJhdGVkIGJ5IHN2ZzJ0dGYgZnJvbSBGb250ZWxsbyBwcm9qZWN0Lmh0dHA6Ly9mb250ZWxsby5jb20ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABHAGwAeQBwAGgAdABlAHIARwBsAHkAcABoAHQAZQByAFIAZQBnAHUAbABhAHIARwBsAHkAcABoAHQAZQByAEcAbAB5AHAAaAB0AGUAcgBWAGUAcgBzAGkAbwBuACAAMQAuADAARwBsAHkAcABoAHQAZQByAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAECAAAAAAAA) format("truetype")}@font-face{font-family:ChartsIcons;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAAOMAAoAAAAAB0QAAANAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlYAgkoKg2SDQgsGAAE2AiQDCAQgBYRVBykbYQZRlCxKH+DHgd3wVQRCO8BliGUDodgsi+GD3Az/EXy/H/s99wmuybTT8IwnspdIEmt0n05ITKdbiPJ/iG9pbXsghQtJI6Zd+8mbD7FcSJTqqXBk9/4E2gugjnYlbODuVSF8SD5En+dyfOv5gc1/s+l6c1ATfIEt8l5iRel83gaPo0UJZtgwdtmTe4hc3CrUprN0Dty4x8cPGbUkRcbtv74/szA0MsoBezmAAJIMJYOlxEoUbN+WCaCUCwmLVQXpRvXoy4xFKfjzARwsgRxtwD2+AWgEtNXX1TU0cq6hrra24Zi1ZfPJBUHEEjqYDMTQQykwIWwIJ/TSimQgEBgaEQIqqItRw9lN+/oYg1Xza6lWqKD81izovmKa9l827TRW0QsrAoPumBAcWwGwBO4wGKNG1xnKiA1HHHnM0saAEWZjmyd1B04IHLmp7zlyYoSJpTMN72lLHE16BrXtaWBiZEfBJ7jg1bsIhgl5+TaUJAOxnQThFjjswm4vIxvDlgia3MLBmL2MC/vUMBRr8Ai7g86y7mzDU6CJySl/rNGBuMFFAzn7cosm3P1RydYNXJ7F/pYNcVH96um5w/q2muDp0JAs37kv3CYaNn5u5RJX/Tynai4/KH6k10LWi8ViCdC0XRg0dwpqAY1Hf5ZyhWt4F2sjZ79gG8eQ1ZcqEJ1UxGINTAbBJ65vC/AYRfDxv3PXmq3aFATCJ1+1H6xKV56ASh0h8V+DkHP+h5pGH4KzzxsEb1vbiAWgupOv5SAQbDcXnMYIWf6tJXLwcYdyjdd+NbUSCLatngrzZp7A3ZRrZ+L9JPfaABLq1QNUQ7tftwvky4RSF5IaA8iUhoicmUChwRxKpXnUmzbYo0GHSFPkdZhyAxAavSBp9opMozciZ95R6PZEqdF/1Nv1n2swFhv3w7lFciqCqDpWJfWP2Gxqp5zrr66gvHC0F8P13peI3jWU+eaoeSrj/mPXOXNNvDpz138WWHBlXBUFuSxCOyEWEieFAHxPxQgoFVRbcvl2EoqP5qNtt8/UQrkMIVC81bRjUF/b80n4czyEp5JLEXO5DHIlEjmiUMlFXAaiAggV2hjG081nUkYu1QDU77jCWB0BAAA=) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAT4AAoAAAAAB0QAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAD4AAABWVrVjM2NtYXAAAAE0AAAAPAAAAUoAlAF3Z2x5ZgAAAXAAAAGuAAAB5GI+BANoZWFkAAADIAAAAC4AAAA2FExZ3WhoZWEAAANQAAAAHAAAACQI6gN3aG10eAAAA2wAAAAIAAAACAgAAABsb2NhAAADdAAAAAYAAAAGAPIAAG1heHAAAAN8AAAAIAAAACABHQCubmFtZQAAA5wAAAFEAAACVT7oPWZwb3N0AAAE4AAAABUAAAApARAAAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGBwYHBkcWUDcGBaIMCOIAACXvwecAAB4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZiALMf/8EqwPT/A1D1QMDIxkA5YCSsZDADALO5Bwd4nC2OsW/TQBjFv89OHaglFDe5C3LatImdcyWf0BEnvShpSaHgJEKVaMXE0goJpFIhdanUobBAQQpiYoKNzVtWxF/B3oGZMLExUMPnhuWe3nu/p+/A+fsVIBfnAK7CAlRAQBN6EMMOPILH8AyO4QWcwXv4AJ8BsNnDtgisvGJVLK/ptqcaN5A8ixSrh8h4+RZq1SCMVATXMF8ucQJF25uBNJuhpfwlOldaytBAefWsa6vimiaQKa+1gTSvYqRMEWSdijKQbpvWbBtRqAPThyK5HJiEK7xjjx4OtyoGOvbWMMFT0sH9yWVoO3jxZT5+gEUnFLpvXdnQImwkpo93dT2gNiGsMerEVvq61l88lZvrlZ74/4pNvtiv7a26XXJTqrvu6nSwftuu8Sn3Ct1Xx+m39Od48OMdKmSZGjwx3f0nUh9I15zIztOgYiRyYrryQEv9XLOqHm/L3XGzyg6P5PZYL3FK5dFhpM92z+mf9lBzrmPrI57PXdcjO5mPd/L3OvbCxaew5fNly1rmfis0fnPpr9xkTqvmj/68LOB3LJy8MQrpSvrr5C0C/AMcw2JeAAB4nGNgZGBgAOIUvgrzeH6brwzcLAwgcGM6VwGM/r+LgYHFDSzOwcAEogD3nAi1AAB4nGNgZGBgYQCCGBD5v4Slh4GRARUwAQA1GAJsBAAAAAQAAAAAAAAAAPIAAAABAAAAAgCiABEAAAAAAAIAAAAKAAoAAAD/AAAAAAAAeJx1kD1Ow0AQhZ/zh0gQBQgamhUFQiA5Px1p6OKaFOkdZx0ncrzWehPJBefhAJyAA3AAGq7AAWh42FOQSHi0O9+8fTuzMoAzfMJD/V1w1eyhw6rmBo5wJdykfi3cIt8Kt9GDL9xhPAh3cY9H4R7OsWYHr3XM6g7Pwh5O8CLcwClehZvU34Rb5HfhNi7xIdyh/iXcxQzfwj3ceE+BzrQNnV6oeamCtMwTp22UhNYVU73cpqEU9T7TtliZTA39QS3sXS92y5FzsYqt2aiJyZxOU6Nya9Y6cn7iXD7u92PR/chsEEAj47II4ZgXUJij5B4gZc6RVLpFRAqZHQpMqSyxpSM8OPnLs+pegRUMZygM+fMHe47/pxfYccKIqkPMOqbHYEOaVN1+3SnDUMmrszWViLpfvdhRHaPPiA/8Pl3s9APzDmqGeJxjYGKAAC4G7AAozwhSAwAB1gASAAAA) format("woff"),url(data:font/ttf;base64,AAEAAAAKAIAAAwAgT1MvMla1YzMAAAEoAAAAVmNtYXAAlAF3AAABiAAAAUpnbHlmYj4EAwAAAtwAAAHkaGVhZBRMWd0AAADQAAAANmhoZWEI6gN3AAAArAAAACRobXR4CAAAAAAAAYAAAAAIbG9jYQDyAAAAAALUAAAABm1heHABHQCuAAABCAAAACBuYW1lPug9ZgAABMAAAAJVcG9zdAEQAAAAAAcYAAAAKQABAAAEAAAAAFwEAAAA/3QEjAABAAAAAAAAAAAAAAAAAAAAAgABAAAAAQAAZA6GO18PPPUACwQAAAAAANiXCnAAAAAA2JcKcP+6AAAERgQAAAAACAACAAAAAAAAAAEAAAACAKIAEQAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAQQAAZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAEEAQQQAAAAAXAQAAAAAAAABAAAAAAAABAAAAAQAAAAAAAADAAAAAwAAABwAAQAAAAAARAADAAEAAAAcAAQAKAAAAAYABAABAAIAAABB/8AAAAAAEH/wAA/8AAAQAAAAAAAAAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8gAAABH/ugAABEYEAAAJABIAGwAmADIAOwBGAFEAWgBiAGoAdQB9AIUAjQCTAKEAAAEyOwE1JicGBzAVHgEXNjc1IzAlLgEnBgcVMzAVIisBFRYXPgE3MCUyOwE+ATcmJw4BBxcUFhc2NyY1IyUuAScGBx4BFzMwFSIrARQHFz4BNzAFFB0BPgE3JzAjIgceARc1MBM2Ny4BJxUwIzQ9AQ4BBx4BMzADJicHHgEXMDM+ATcnBgcwAwYHFz4BNzAzHgEXNycDJAATPgE3BAADDgEHMAFCC0lUSEMbAgERC0NIqAF8ARELR0uvC0lUSEMLEQH9uApGUAETESsmNz8GCD03JislqAMkAUQ3IicLEQGoC0lUJUk4Rgb+hCE/HHwsQDwbOyYsQDwbOyYsJkAWHD8hXygaOhs7JuohPxw6GijqRzxBCyEW6hYjEDqDdf7Q/uuKR+mLATABFYpH6YsCFqgDGmBlLDdpLBoDryw4ZicbAqgsrwMaLGk3LDdtNxUeN4pNLFKKMh4Va3AsTYo3HRY3bTcscGszN4VS2wpGUAtINxYWN0YGmQHbBRg3SQuoCkZRB0U4CxL9mis0JBYfBgYfFiQ0KwL4FiwkIDEVETQhJEn8fhAB3wEQeIYCEP4g/vF4hwEAAAAAABIA3gABAAAAAAAAABUAAAABAAAAAAABAAYAFQABAAAAAAACAAcAGwABAAAAAAADAAYAIgABAAAAAAAEAAYAKAABAAAAAAAFAAsALgABAAAAAAAGAAYAOQABAAAAAAAKACsAPwABAAAAAAALABMAagADAAEECQAAACoAfQADAAEECQABAAwApwADAAEECQACAA4AswADAAEECQADAAwAwQADAAEECQAEAAwAzQADAAEECQAFABYA2QADAAEECQAGAAwA7wADAAEECQAKAFYA+wADAAEECQALACYBUUdlbmVyYXRlZCBieSBHbHlwaHRlcmNoYXJ0c1JlZ3VsYXJjaGFydHNjaGFydHNWZXJzaW9uIDEuMGNoYXJ0c0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAARwBsAHkAcABoAHQAZQByAGMAaABhAHIAdABzAFIAZQBnAHUAbABhAHIAYwBoAGEAcgB0AHMAYwBoAGEAcgB0AHMAVgBlAHIAcwBpAG8AbgAgADEALgAwAGMAaABhAHIAdABzAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAECAAAAAAAA) format("truetype")}@font-face{font-display:swap;font-family:Euclid Circular A;font-style:normal;font-weight:700;src:url(/docs/manual/static/EuclidCircularA-Semibold-WebXL-fa7f7a6de763f3fc0ef6d7bce19a5b97.woff) format("woff")}div.document{margin-left:25px}div.section>h1+dl.dbcommand>dt,div.section>h1+dl.expression>dt,div.section>h1+dl.group>dt,div.section>h1+dl.method>dt,div.section>h1+dl.operator>dt,div.section>h1+dl.pipeline>dt,div.section>h1+dl.projection>dt,dl.binary{display:none}.highlight ::-webkit-scrollbar{-webkit-appearance:none;height:5px;width:7px}.highlight ::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,.5);border-radius:0;height:0}body{color:#21313c;font-family:Euclid Circular A,Helvetica Neue,Helvetica,Arial,sans-serif;margin:0;padding:0}hr{border:1px solid #b1b4b6}div.body h1+dl,div.body h1+p,div.body h2+dl,div.body h2+p,div.body h3+dl,div.body h3+p,div.body h4+dl,div.body h4+p{padding:0;text-indent:0}a code{font-weight:400}dl.method dt{margin-bottom:24px}dl.method>dt big{font-size:16px;font-weight:300}dl.method>dt em{font-style:normal;font-weight:700}.content{display:flex;font-size:16px;line-height:24px;margin:45px auto 0}@media (max-width:1340px){.document{margin-left:25px}}@media (min-width:1121px) and (max-width:1340px){.document{margin-left:25px}}@media (max-width:1024px){.document{margin-left:25px}}#tooltip-1{z-index:3} /*! * Font Awesome Free 5.3.1 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-ad:before{content:"\f641"}.fa-address-book:before,.fa4-address-book:before{content:"\f2b9"}.fa-address-card:before,.fa4-address-card:before,.fa4-vcard:before{content:"\f2bb"}.fa-adjust:before,.fa4-adjust:before{content:"\f042"}.fa-adn:before,.fa4-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before,.fa4-align-center:before{content:"\f037"}.fa-align-justify:before,.fa4-align-justify:before{content:"\f039"}.fa-align-left:before,.fa4-align-left:before{content:"\f036"}.fa-align-right:before,.fa4-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before,.fa4-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before,.fa4-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before,.fa4-american-sign-language-interpreting:before,.fa4-asl-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before,.fa4-anchor:before{content:"\f13d"}.fa-android:before,.fa4-android:before{content:"\f17b"}.fa-angellist:before,.fa4-angellist:before{content:"\f209"}.fa-angle-double-down:before,.fa4-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before,.fa4-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before,.fa4-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before,.fa4-angle-double-up:before{content:"\f102"}.fa-angle-down:before,.fa4-angle-down:before{content:"\f107"}.fa-angle-left:before,.fa4-angle-left:before{content:"\f104"}.fa-angle-right:before,.fa4-angle-right:before{content:"\f105"}.fa-angle-up:before,.fa4-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before,.fa4-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before,.fa4-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before,.fa4-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before,.fa4-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before,.fa4-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before,.fa4-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before,.fa4-arrow-down:before{content:"\f063"}.fa-arrow-left:before,.fa4-arrow-left:before{content:"\f060"}.fa-arrow-right:before,.fa4-arrow-right:before{content:"\f061"}.fa-arrow-up:before,.fa4-arrow-up:before{content:"\f062"}.fa-arrows-alt:before,.fa4-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-assistive-listening-systems:before,.fa4-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before,.fa4-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before,.fa4-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before,.fa4-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-backspace:before{content:"\f55a"}.fa-backward:before,.fa4-backward:before{content:"\f04a"}.fa-balance-scale:before,.fa4-balance-scale:before{content:"\f24e"}.fa-ban:before,.fa4-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before,.fa4-bandcamp:before{content:"\f2d5"}.fa-barcode:before,.fa4-barcode:before{content:"\f02a"}.fa-bars:before,.fa4-bars:before,.fa4-navicon:before,.fa4-reorder:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before,.fa4-bath:before,.fa4-bathtub:before,.fa4-s15:before{content:"\f2cd"}.fa-battery-empty:before,.fa4-battery-0:before,.fa4-battery-empty:before{content:"\f244"}.fa-battery-full:before,.fa4-battery-4:before,.fa4-battery-full:before,.fa4-battery:before{content:"\f240"}.fa-battery-half:before,.fa4-battery-2:before,.fa4-battery-half:before{content:"\f242"}.fa-battery-quarter:before,.fa4-battery-1:before,.fa4-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before,.fa4-battery-3:before,.fa4-battery-three-quarters:before{content:"\f241"}.fa-bed:before,.fa4-bed:before,.fa4-hotel:before{content:"\f236"}.fa-beer:before,.fa4-beer:before{content:"\f0fc"}.fa-behance:before,.fa4-behance:before{content:"\f1b4"}.fa-behance-square:before,.fa4-behance-square:before{content:"\f1b5"}.fa-bell:before,.fa4-bell:before{content:"\f0f3"}.fa-bell-slash:before,.fa4-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before,.fa4-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before,.fa4-binoculars:before{content:"\f1e5"}.fa-birthday-cake:before,.fa4-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before,.fa4-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before,.fa4-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blind:before,.fa4-blind:before{content:"\f29d"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before,.fa4-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before,.fa4-bluetooth-b:before{content:"\f294"}.fa-bold:before,.fa4-bold:before{content:"\f032"}.fa-bolt:before,.fa4-bolt:before,.fa4-flash:before{content:"\f0e7"}.fa-bomb:before,.fa4-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before,.fa4-book:before{content:"\f02d"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before,.fa4-bookmark:before{content:"\f02e"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before,.fa4-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-briefcase:before,.fa4-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before,.fa4-bitcoin:before,.fa4-btc:before{content:"\f15a"}.fa-bug:before,.fa4-bug:before{content:"\f188"}.fa-building:before,.fa4-building:before{content:"\f1ad"}.fa-bullhorn:before,.fa4-bullhorn:before{content:"\f0a1"}.fa-bullseye:before,.fa4-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before,.fa4-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buysellads:before,.fa4-buysellads:before{content:"\f20d"}.fa-calculator:before,.fa4-calculator:before{content:"\f1ec"}.fa-calendar:before,.fa4-calendar-o:before{content:"\f133"}.fa-calendar-alt:before,.fa4-calendar:before{content:"\f073"}.fa-calendar-check:before,.fa4-calendar-check-o:before{content:"\f274"}.fa-calendar-minus:before,.fa4-calendar-minus-o:before{content:"\f272"}.fa-calendar-plus:before,.fa4-calendar-plus-o:before{content:"\f271"}.fa-calendar-times:before,.fa4-calendar-times-o:before{content:"\f273"}.fa-camera:before,.fa4-camera:before{content:"\f030"}.fa-camera-retro:before,.fa4-camera-retro:before{content:"\f083"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before,.fa4-automobile:before,.fa4-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caret-down:before,.fa4-caret-down:before{content:"\f0d7"}.fa-caret-left:before,.fa4-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.fa4-caret-right:before{content:"\f0da"}.fa-caret-square-down:before,.fa4-caret-square-o-down:before,.fa4-toggle-down:before{content:"\f150"}.fa-caret-square-left:before,.fa4-caret-square-o-left:before,.fa4-toggle-left:before{content:"\f191"}.fa-caret-square-right:before,.fa4-caret-square-o-right:before,.fa4-toggle-right:before{content:"\f152"}.fa-caret-square-up:before,.fa4-caret-square-o-up:before,.fa4-toggle-up:before{content:"\f151"}.fa-caret-up:before,.fa4-caret-up:before{content:"\f0d8"}.fa-cart-arrow-down:before,.fa4-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before,.fa4-cart-plus:before{content:"\f217"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before,.fa4-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before,.fa4-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before,.fa4-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before,.fa4-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before,.fa4-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before,.fa4-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before,.fa4-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before,.fa4-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-certificate:before,.fa4-certificate:before{content:"\f0a3"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before,.fa4-area-chart:before{content:"\f1fe"}.fa-chart-bar:before,.fa4-bar-chart-o:before,.fa4-bar-chart:before{content:"\f080"}.fa-chart-line:before,.fa4-line-chart:before{content:"\f201"}.fa-chart-pie:before,.fa4-pie-chart:before{content:"\f200"}.fa-check:before,.fa4-check:before{content:"\f00c"}.fa-check-circle:before,.fa4-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before,.fa4-check-square:before{content:"\f14a"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before,.fa4-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before,.fa4-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before,.fa4-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before,.fa4-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before,.fa4-chevron-down:before{content:"\f078"}.fa-chevron-left:before,.fa4-chevron-left:before{content:"\f053"}.fa-chevron-right:before,.fa4-chevron-right:before{content:"\f054"}.fa-chevron-up:before,.fa4-chevron-up:before{content:"\f077"}.fa-child:before,.fa4-child:before{content:"\f1ae"}.fa-chrome:before,.fa4-chrome:before{content:"\f268"}.fa-church:before{content:"\f51d"}.fa-circle:before,.fa4-circle:before{content:"\f111"}.fa-circle-notch:before,.fa4-circle-o-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before,.fa4-clock-o:before{content:"\f017"}.fa-clone:before,.fa4-clone:before{content:"\f24d"}.fa-closed-captioning:before,.fa4-cc:before{content:"\f20a"}.fa-cloud:before,.fa4-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before,.fa4-code:before{content:"\f121"}.fa-code-branch:before,.fa4-code-fork:before{content:"\f126"}.fa-codepen:before,.fa4-codepen:before{content:"\f1cb"}.fa-codiepie:before,.fa4-codiepie:before{content:"\f284"}.fa-coffee:before,.fa4-coffee:before{content:"\f0f4"}.fa-cog:before,.fa4-cog:before,.fa4-gear:before{content:"\f013"}.fa-cogs:before,.fa4-cogs:before,.fa4-gears:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before,.fa4-columns:before{content:"\f0db"}.fa-comment:before,.fa4-comment:before{content:"\f075"}.fa-comment-alt:before,.fa4-commenting:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before,.fa4-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before,.fa4-compass:before{content:"\f14e"}.fa-compress:before,.fa4-compress:before{content:"\f066"}.fa-concierge-bell:before{content:"\f562"}.fa-connectdevelop:before,.fa4-connectdevelop:before{content:"\f20e"}.fa-contao:before,.fa4-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before,.fa4-copy:before,.fa4-files-o:before{content:"\f0c5"}.fa-copyright:before,.fa4-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before,.fa4-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-credit-card:before,.fa4-credit-card:before{content:"\f09d"}.fa-crop:before,.fa4-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before,.fa4-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-css3:before,.fa4-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before,.fa4-cube:before{content:"\f1b2"}.fa-cubes:before,.fa4-cubes:before{content:"\f1b3"}.fa-cut:before,.fa4-cut:before,.fa4-scissors:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-dashcube:before,.fa4-dashcube:before{content:"\f210"}.fa-database:before,.fa4-database:before{content:"\f1c0"}.fa-deaf:before,.fa4-deaf:before,.fa4-deafness:before,.fa4-hard-of-hearing:before{content:"\f2a4"}.fa-delicious:before,.fa4-delicious:before{content:"\f1a5"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before,.fa4-desktop:before{content:"\f108"}.fa-deviantart:before,.fa4-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-diagnoses:before{content:"\f470"}.fa-dice:before{content:"\f522"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before,.fa4-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dollar-sign:before,.fa4-dollar:before,.fa4-usd:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before,.fa4-dot-circle-o:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before,.fa4-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before,.fa4-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before,.fa4-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drupal:before,.fa4-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before,.fa4-edge:before{content:"\f282"}.fa-edit:before,.fa4-edit:before,.fa4-pencil-square-o:before{content:"\f044"}.fa-eject:before,.fa4-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before,.fa4-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before,.fa4-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before,.fa4-empire:before,.fa4-ge:before{content:"\f1d1"}.fa-envelope:before,.fa4-envelope:before{content:"\f0e0"}.fa-envelope-open:before,.fa4-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before,.fa4-envelope-square:before{content:"\f199"}.fa-envira:before,.fa4-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before,.fa4-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-etsy:before,.fa4-etsy:before{content:"\f2d7"}.fa-euro-sign:before,.fa4-eur:before,.fa4-euro:before{content:"\f153"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before,.fa4-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before,.fa4-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before,.fa4-exclamation-triangle:before,.fa4-warning:before{content:"\f071"}.fa-expand:before,.fa4-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before,.fa4-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before,.fa4-eye:before{content:"\f06e"}.fa-eye-dropper:before,.fa4-eyedropper:before{content:"\f1fb"}.fa-eye-slash:before,.fa4-eye-slash:before{content:"\f070"}.fa-facebook:before,.fa4-facebook-f:before,.fa4-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before,.fa4-facebook-square:before{content:"\f082"}.fa-fast-backward:before,.fa4-fast-backward:before{content:"\f049"}.fa-fast-forward:before,.fa4-fast-forward:before{content:"\f050"}.fa-fax:before,.fa4-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-female:before,.fa4-female:before{content:"\f182"}.fa-fighter-jet:before,.fa4-fighter-jet:before{content:"\f0fb"}.fa-file:before,.fa4-file:before{content:"\f15b"}.fa-file-alt:before,.fa4-file-text:before{content:"\f15c"}.fa-file-archive:before,.fa4-file-archive-o:before,.fa4-file-zip-o:before{content:"\f1c6"}.fa-file-audio:before,.fa4-file-audio-o:before,.fa4-file-sound-o:before{content:"\f1c7"}.fa-file-code:before,.fa4-file-code-o:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before,.fa4-file-excel-o:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before,.fa4-file-image-o:before,.fa4-file-photo-o:before,.fa4-file-picture-o:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before,.fa4-file-pdf-o:before{content:"\f1c1"}.fa-file-powerpoint:before,.fa4-file-powerpoint-o:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before,.fa4-file-movie-o:before,.fa4-file-video-o:before{content:"\f1c8"}.fa-file-word:before,.fa4-file-word-o:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before,.fa4-film:before{content:"\f008"}.fa-filter:before,.fa4-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before,.fa4-fire:before{content:"\f06d"}.fa-fire-extinguisher:before,.fa4-fire-extinguisher:before{content:"\f134"}.fa-firefox:before,.fa4-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before,.fa4-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-flag:before,.fa4-flag:before{content:"\f024"}.fa-flag-checkered:before,.fa4-flag-checkered:before{content:"\f11e"}.fa-flask:before,.fa4-flask:before{content:"\f0c3"}.fa-flickr:before,.fa4-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before,.fa4-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before,.fa4-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before,.fa4-font:before{content:"\f031"}.fa-font-awesome:before,.fa4-fa:before,.fa4-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before,.fa4-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before,.fa4-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before,.fa4-forumbee:before{content:"\f211"}.fa-forward:before,.fa4-forward:before{content:"\f04e"}.fa-foursquare:before,.fa4-foursquare:before{content:"\f180"}.fa-free-code-camp:before,.fa4-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before,.fa4-frown-o:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before,.fa4-futbol-o:before,.fa4-soccer-ball-o:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before,.fa4-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before,.fa4-gavel:before,.fa4-legal:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before,.fa4-genderless:before{content:"\f22d"}.fa-get-pocket:before,.fa4-get-pocket:before{content:"\f265"}.fa-gg:before,.fa4-gg:before{content:"\f260"}.fa-gg-circle:before,.fa4-gg-circle:before{content:"\f261"}.fa-gift:before,.fa4-gift:before{content:"\f06b"}.fa-git:before,.fa4-git:before{content:"\f1d3"}.fa-git-square:before,.fa4-git-square:before{content:"\f1d2"}.fa-github:before,.fa4-github:before{content:"\f09b"}.fa-github-alt:before,.fa4-github-alt:before{content:"\f113"}.fa-github-square:before,.fa4-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before,.fa4-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-martini:before,.fa4-glass:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glasses:before{content:"\f530"}.fa-glide:before,.fa4-glide:before{content:"\f2a5"}.fa-glide-g:before,.fa4-glide-g:before{content:"\f2a6"}.fa-globe:before,.fa4-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before,.fa4-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before,.fa4-google-plus-circle:before,.fa4-google-plus-official:before{content:"\f2b3"}.fa-google-plus-g:before,.fa4-google-plus:before{content:"\f0d5"}.fa-google-plus-square:before,.fa4-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before,.fa4-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before,.fa4-graduation-cap:before,.fa4-mortar-board:before{content:"\f19d"}.fa-gratipay:before,.fa4-gittip:before,.fa4-gratipay:before{content:"\f184"}.fa-grav:before,.fa4-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before,.fa4-h-square:before{content:"\f0fd"}.fa-hacker-news:before,.fa4-hacker-news:before,.fa4-y-combinator-square:before,.fa4-yc-square:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before,.fa4-hand-lizard-o:before{content:"\f258"}.fa-hand-paper:before,.fa4-hand-paper-o:before,.fa4-hand-stop-o:before{content:"\f256"}.fa-hand-peace:before,.fa4-hand-peace-o:before{content:"\f25b"}.fa-hand-point-down:before,.fa4-hand-o-down:before{content:"\f0a7"}.fa-hand-point-left:before,.fa4-hand-o-left:before{content:"\f0a5"}.fa-hand-point-right:before,.fa4-hand-o-right:before{content:"\f0a4"}.fa-hand-point-up:before,.fa4-hand-o-up:before{content:"\f0a6"}.fa-hand-pointer:before,.fa4-hand-pointer-o:before{content:"\f25a"}.fa-hand-rock:before,.fa4-hand-grab-o:before,.fa4-hand-rock-o:before{content:"\f255"}.fa-hand-scissors:before,.fa4-hand-scissors-o:before{content:"\f257"}.fa-hand-spock:before,.fa4-hand-spock-o:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before,.fa4-handshake-o:before{content:"\f2b5"}.fa-hashtag:before,.fa4-hashtag:before{content:"\f292"}.fa-haykal:before{content:"\f666"}.fa-hdd:before,.fa4-hdd-o:before{content:"\f0a0"}.fa-heading:before,.fa4-header:before{content:"\f1dc"}.fa-headphones:before,.fa4-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before,.fa4-heart:before{content:"\f004"}.fa-heartbeat:before,.fa4-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before,.fa4-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-home:before,.fa4-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-hospital:before,.fa4-hospital-o:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before,.fa4-hourglass:before{content:"\f254"}.fa-hourglass-end:before,.fa4-hourglass-3:before,.fa4-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before,.fa4-hourglass-2:before,.fa4-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before,.fa4-hourglass-1:before,.fa4-hourglass-start:before{content:"\f251"}.fa-houzz:before,.fa4-houzz:before{content:"\f27c"}.fa-html5:before,.fa4-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before,.fa4-i-cursor:before{content:"\f246"}.fa-id-badge:before,.fa4-id-badge:before{content:"\f2c1"}.fa-id-card:before,.fa4-drivers-license:before,.fa4-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-image:before,.fa4-image:before,.fa4-photo:before,.fa4-picture-o:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before,.fa4-imdb:before{content:"\f2d8"}.fa-inbox:before,.fa4-inbox:before{content:"\f01c"}.fa-indent:before,.fa4-indent:before{content:"\f03c"}.fa-industry:before,.fa4-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before,.fa4-info:before{content:"\f129"}.fa-info-circle:before,.fa4-info-circle:before{content:"\f05a"}.fa-instagram:before,.fa4-instagram:before{content:"\f16d"}.fa-internet-explorer:before,.fa4-internet-explorer:before{content:"\f26b"}.fa-ioxhost:before,.fa4-ioxhost:before{content:"\f208"}.fa-italic:before,.fa4-italic:before{content:"\f033"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before,.fa4-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before,.fa4-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before,.fa4-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before,.fa4-keyboard-o:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before,.fa4-language:before{content:"\f1ab"}.fa-laptop:before,.fa4-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before,.fa4-lastfm:before{content:"\f202"}.fa-lastfm-square:before,.fa4-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before,.fa4-leaf:before{content:"\f06c"}.fa-leanpub:before,.fa4-leanpub:before{content:"\f212"}.fa-lemon:before,.fa4-lemon-o:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before,.fa4-life-bouy:before,.fa4-life-buoy:before,.fa4-life-ring:before,.fa4-life-saver:before,.fa4-support:before{content:"\f1cd"}.fa-lightbulb:before,.fa4-lightbulb-o:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before,.fa4-chain:before,.fa4-link:before{content:"\f0c1"}.fa-linkedin:before,.fa4-linkedin-square:before{content:"\f08c"}.fa-linkedin-in:before,.fa4-linkedin:before{content:"\f0e1"}.fa-linode:before,.fa4-linode:before{content:"\f2b8"}.fa-linux:before,.fa4-linux:before{content:"\f17c"}.fa-lira-sign:before,.fa4-try:before,.fa4-turkish-lira:before{content:"\f195"}.fa-list:before,.fa4-list:before{content:"\f03a"}.fa-list-alt:before,.fa4-list-alt:before{content:"\f022"}.fa-list-ol:before,.fa4-list-ol:before{content:"\f0cb"}.fa-list-ul:before,.fa4-list-ul:before{content:"\f0ca"}.fa-location-arrow:before,.fa4-location-arrow:before{content:"\f124"}.fa-lock:before,.fa4-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before,.fa4-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before,.fa4-magic:before{content:"\f0d0"}.fa-magnet:before,.fa4-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before,.fa4-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before,.fa4-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before,.fa4-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before,.fa4-map-pin:before{content:"\f276"}.fa-map-signs:before,.fa4-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before,.fa4-mars:before{content:"\f222"}.fa-mars-double:before,.fa4-mars-double:before{content:"\f227"}.fa-mars-stroke:before,.fa4-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before,.fa4-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before,.fa4-mars-stroke-v:before{content:"\f22a"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before,.fa4-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before,.fa4-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before,.fa4-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before,.fa4-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before,.fa4-meh-o:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-menorah:before{content:"\f676"}.fa-mercury:before,.fa4-mercury:before{content:"\f223"}.fa-microchip:before,.fa4-microchip:before{content:"\f2db"}.fa-microphone:before,.fa4-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before,.fa4-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before,.fa4-minus:before{content:"\f068"}.fa-minus-circle:before,.fa4-minus-circle:before{content:"\f056"}.fa-minus-square:before,.fa4-minus-square:before{content:"\f146"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before,.fa4-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before,.fa4-mobile-phone:before,.fa4-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before,.fa4-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before,.fa4-money:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before,.fa4-moon-o:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before,.fa4-motorcycle:before{content:"\f21c"}.fa-mouse-pointer:before,.fa4-mouse-pointer:before{content:"\f245"}.fa-music:before,.fa4-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-neuter:before,.fa4-neuter:before{content:"\f22c"}.fa-newspaper:before,.fa4-newspaper-o:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before,.fa4-object-group:before{content:"\f247"}.fa-object-ungroup:before,.fa4-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before,.fa4-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before,.fa4-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before,.fa4-opencart:before{content:"\f23d"}.fa-openid:before,.fa4-openid:before{content:"\f19b"}.fa-opera:before,.fa4-opera:before{content:"\f26a"}.fa-optin-monster:before,.fa4-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-outdent:before,.fa4-dedent:before,.fa4-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before,.fa4-pagelines:before{content:"\f18c"}.fa-paint-brush:before,.fa4-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before,.fa4-paper-plane:before,.fa4-send:before{content:"\f1d8"}.fa-paperclip:before,.fa4-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before,.fa4-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before,.fa4-clipboard:before,.fa4-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before,.fa4-pause:before{content:"\f04c"}.fa-pause-circle:before,.fa4-pause-circle:before{content:"\f28b"}.fa-paw:before,.fa4-paw:before{content:"\f1b0"}.fa-paypal:before,.fa4-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before,.fa4-pencil-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-carry:before{content:"\f4ce"}.fa-percent:before,.fa4-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before,.fa4-phone:before{content:"\f095"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before,.fa4-phone-square:before{content:"\f098"}.fa-phone-volume:before,.fa4-volume-control-phone:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before,.fa4-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before,.fa4-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before,.fa4-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before,.fa4-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before,.fa4-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before,.fa4-pinterest-square:before{content:"\f0d3"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before,.fa4-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before,.fa4-play:before{content:"\f04b"}.fa-play-circle:before,.fa4-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before,.fa4-plug:before{content:"\f1e6"}.fa-plus:before,.fa4-plus:before{content:"\f067"}.fa-plus-circle:before,.fa4-plus-circle:before{content:"\f055"}.fa-plus-square:before,.fa4-plus-square:before{content:"\f0fe"}.fa-podcast:before,.fa4-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before,.fa4-gbp:before{content:"\f154"}.fa-power-off:before,.fa4-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before,.fa4-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before,.fa4-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before,.fa4-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before,.fa4-qq:before{content:"\f1d6"}.fa-qrcode:before,.fa4-qrcode:before{content:"\f029"}.fa-question:before,.fa4-question:before{content:"\f128"}.fa-question-circle:before,.fa4-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before,.fa4-quora:before{content:"\f2c4"}.fa-quote-left:before,.fa4-quote-left:before{content:"\f10d"}.fa-quote-right:before,.fa4-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-random:before,.fa4-random:before{content:"\f074"}.fa-ravelry:before,.fa4-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before,.fa4-ra:before,.fa4-rebel:before,.fa4-resistance:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-recycle:before,.fa4-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before,.fa4-reddit:before{content:"\f1a1"}.fa-reddit-alien:before,.fa4-reddit-alien:before{content:"\f281"}.fa-reddit-square:before,.fa4-reddit-square:before{content:"\f1a2"}.fa-redo:before,.fa4-repeat:before,.fa4-rotate-right:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before,.fa4-registered:before{content:"\f25d"}.fa-rendact:before{content:"\f3e4"}.fa-renren:before,.fa4-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before,.fa4-mail-reply-all:before,.fa4-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-retweet:before,.fa4-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-road:before,.fa4-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before,.fa4-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before,.fa4-feed:before,.fa4-rss:before{content:"\f09e"}.fa-rss-square:before,.fa4-rss-square:before{content:"\f143"}.fa-ruble-sign:before,.fa4-rouble:before,.fa4-rub:before,.fa4-ruble:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-rupee-sign:before,.fa4-inr:before,.fa4-rupee:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before,.fa4-safari:before{content:"\f267"}.fa-sass:before{content:"\f41e"}.fa-save:before,.fa4-floppy-o:before,.fa4-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before,.fa4-scribd:before{content:"\f28a"}.fa-search:before,.fa4-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before,.fa4-search-minus:before{content:"\f010"}.fa-search-plus:before,.fa4-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before,.fa4-eercast:before{content:"\f2da"}.fa-sellsy:before,.fa4-sellsy:before{content:"\f213"}.fa-server:before,.fa4-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before,.fa4-mail-forward:before,.fa4-share:before{content:"\f064"}.fa-share-alt:before,.fa4-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before,.fa4-share-alt-square:before{content:"\f1e1"}.fa-share-square:before,.fa4-share-square:before{content:"\f14d"}.fa-shekel-sign:before,.fa4-ils:before,.fa4-shekel:before,.fa4-sheqel:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before,.fa4-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before,.fa4-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before,.fa4-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before,.fa4-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before,.fa4-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before,.fa4-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before,.fa4-sign-language:before,.fa4-signing:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before,.fa4-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-simplybuilt:before,.fa4-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before,.fa4-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skull:before{content:"\f54c"}.fa-skyatlas:before,.fa4-skyatlas:before{content:"\f216"}.fa-skype:before,.fa4-skype:before{content:"\f17e"}.fa-slack:before,.fa4-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-sliders-h:before,.fa4-sliders:before{content:"\f1de"}.fa-slideshare:before,.fa4-slideshare:before{content:"\f1e7"}.fa-smile:before,.fa4-smile-o:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-snapchat:before,.fa4-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before,.fa4-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before,.fa4-snapchat-square:before{content:"\f2ad"}.fa-snowflake:before,.fa4-snowflake-o:before{content:"\f2dc"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before,.fa4-sort:before,.fa4-unsorted:before{content:"\f0dc"}.fa-sort-alpha-down:before,.fa4-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-up:before,.fa4-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-down:before,.fa4-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-up:before,.fa4-sort-amount-desc:before{content:"\f161"}.fa-sort-down:before,.fa4-sort-desc:before,.fa4-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before,.fa4-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-up:before,.fa4-sort-numeric-desc:before{content:"\f163"}.fa-sort-up:before,.fa4-sort-asc:before,.fa4-sort-up:before{content:"\f0de"}.fa-soundcloud:before,.fa4-soundcloud:before{content:"\f1be"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before,.fa4-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-spinner:before,.fa4-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before,.fa4-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before,.fa4-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before,.fa4-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before,.fa4-stack-overflow:before{content:"\f16c"}.fa-stamp:before{content:"\f5bf"}.fa-star:before,.fa4-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before,.fa4-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before,.fa4-steam:before{content:"\f1b6"}.fa-steam-square:before,.fa4-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before,.fa4-step-backward:before{content:"\f048"}.fa-step-forward:before,.fa4-step-forward:before{content:"\f051"}.fa-stethoscope:before,.fa4-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before,.fa4-sticky-note:before{content:"\f249"}.fa-stop:before,.fa4-stop:before{content:"\f04d"}.fa-stop-circle:before,.fa4-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before,.fa4-street-view:before{content:"\f21d"}.fa-strikethrough:before,.fa4-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before,.fa4-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before,.fa4-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before,.fa4-subscript:before{content:"\f12c"}.fa-subway:before,.fa4-subway:before{content:"\f239"}.fa-suitcase:before,.fa4-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before,.fa4-sun-o:before{content:"\f185"}.fa-superpowers:before,.fa4-superpowers:before{content:"\f2dd"}.fa-superscript:before,.fa4-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before,.fa4-refresh:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before,.fa4-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before,.fa4-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before,.fa4-tag:before{content:"\f02b"}.fa-tags:before,.fa4-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before,.fa4-tasks:before{content:"\f0ae"}.fa-taxi:before,.fa4-cab:before,.fa4-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before,.fa4-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-tencent-weibo:before,.fa4-tencent-weibo:before{content:"\f1d5"}.fa-terminal:before,.fa4-terminal:before{content:"\f120"}.fa-text-height:before,.fa4-text-height:before{content:"\f034"}.fa-text-width:before,.fa4-text-width:before{content:"\f035"}.fa-th:before,.fa4-th:before{content:"\f00a"}.fa-th-large:before,.fa4-th-large:before{content:"\f009"}.fa-th-list:before,.fa4-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before,.fa4-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before,.fa4-thermometer-0:before,.fa4-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before,.fa4-thermometer-4:before,.fa4-thermometer-full:before,.fa4-thermometer:before{content:"\f2c7"}.fa-thermometer-half:before,.fa4-thermometer-2:before,.fa4-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before,.fa4-thermometer-1:before,.fa4-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before,.fa4-thermometer-3:before,.fa4-thermometer-three-quarters:before{content:"\f2c8"}.fa-thumbs-down:before,.fa4-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before,.fa4-thumbs-up:before{content:"\f164"}.fa-thumbtack:before,.fa4-thumb-tack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before,.fa4-close:before,.fa4-remove:before,.fa4-times:before{content:"\f00d"}.fa-times-circle:before,.fa4-times-circle:before{content:"\f057"}.fa-tint:before,.fa4-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before,.fa4-toggle-off:before{content:"\f204"}.fa-toggle-on:before,.fa4-toggle-on:before{content:"\f205"}.fa-toolbox:before{content:"\f552"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before,.fa4-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-train:before,.fa4-train:before{content:"\f238"}.fa-transgender:before,.fa4-intersex:before,.fa4-transgender:before{content:"\f224"}.fa-transgender-alt:before,.fa4-transgender-alt:before{content:"\f225"}.fa-trash:before,.fa4-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-tree:before,.fa4-tree:before{content:"\f1bb"}.fa-trello:before,.fa4-trello:before{content:"\f181"}.fa-tripadvisor:before,.fa4-tripadvisor:before{content:"\f262"}.fa-trophy:before,.fa4-trophy:before{content:"\f091"}.fa-truck:before,.fa4-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before,.fa4-tty:before{content:"\f1e4"}.fa-tumblr:before,.fa4-tumblr:before{content:"\f173"}.fa-tumblr-square:before,.fa4-tumblr-square:before{content:"\f174"}.fa-tv:before,.fa4-television:before,.fa4-tv:before{content:"\f26c"}.fa-twitch:before,.fa4-twitch:before{content:"\f1e8"}.fa-twitter:before,.fa4-twitter:before{content:"\f099"}.fa-twitter-square:before,.fa4-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before,.fa4-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before,.fa4-underline:before{content:"\f0cd"}.fa-undo:before,.fa4-rotate-left:before,.fa4-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before,.fa4-universal-access:before{content:"\f29a"}.fa-university:before,.fa4-bank:before,.fa4-institution:before,.fa4-university:before{content:"\f19c"}.fa-unlink:before,.fa4-chain-broken:before,.fa4-unlink:before{content:"\f127"}.fa-unlock:before,.fa4-unlock:before{content:"\f09c"}.fa-unlock-alt:before,.fa4-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before,.fa4-upload:before{content:"\f093"}.fa-usb:before,.fa4-usb:before{content:"\f287"}.fa-user:before,.fa4-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before,.fa4-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before,.fa4-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-plus:before,.fa4-user-plus:before{content:"\f234"}.fa-user-secret:before,.fa4-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before,.fa4-user-times:before{content:"\f235"}.fa-users:before,.fa4-group:before,.fa4-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before,.fa4-venus:before{content:"\f221"}.fa-venus-double:before,.fa4-venus-double:before{content:"\f226"}.fa-venus-mars:before,.fa4-venus-mars:before{content:"\f228"}.fa-viacoin:before,.fa4-viacoin:before{content:"\f237"}.fa-viadeo:before,.fa4-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before,.fa4-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before,.fa4-video-camera:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before,.fa4-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before,.fa4-vimeo:before{content:"\f27d"}.fa-vine:before,.fa4-vine:before{content:"\f1ca"}.fa-vk:before,.fa4-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before,.fa4-volume-down:before{content:"\f027"}.fa-volume-off:before,.fa4-volume-off:before{content:"\f026"}.fa-volume-up:before,.fa4-volume-up:before{content:"\f028"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before,.fa4-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before,.fa4-wechat:before,.fa4-weixin:before{content:"\f1d7"}.fa-whatsapp:before,.fa4-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before,.fa4-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before,.fa4-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before,.fa4-wikipedia-w:before{content:"\f266"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before,.fa4-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before,.fa4-window-minimize:before{content:"\f2d1"}.fa-window-restore:before,.fa4-window-restore:before{content:"\f2d2"}.fa-windows:before,.fa4-windows:before{content:"\f17a"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before,.fa4-krw:before,.fa4-won:before{content:"\f159"}.fa-wordpress:before,.fa4-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before,.fa4-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before,.fa4-wpexplorer:before{content:"\f2de"}.fa-wpforms:before,.fa4-wpforms:before{content:"\f298"}.fa-wrench:before,.fa4-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before,.fa4-xing:before{content:"\f168"}.fa-xing-square:before,.fa4-xing-square:before{content:"\f169"}.fa-y-combinator:before,.fa4-y-combinator:before,.fa4-yc:before{content:"\f23b"}.fa-yahoo:before,.fa4-yahoo:before{content:"\f19e"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yelp:before,.fa4-yelp:before{content:"\f1e9"}.fa-yen-sign:before,.fa4-cny:before,.fa4-jpy:before,.fa4-rmb:before,.fa4-yen:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before,.fa4-yoast:before{content:"\f2b1"}.fa-youtube:before,.fa4-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"} /*! * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */.fa4-envelope-o:before{content:"\f003"}.fa4-star-o:before{content:"\f006"}.fa4-trash-o:before{content:"\f014"}.fa4-file-o:before{content:"\f016"}.fa4-arrow-circle-o-down:before{content:"\f01a"}.fa4-arrow-circle-o-up:before{content:"\f01b"}.fa4-play-circle-o:before{content:"\f01d"}.fa4-pencil:before{content:"\f040"}.fa4-share-square-o:before{content:"\f045"}.fa4-check-square-o:before{content:"\f046"}.fa4-arrows:before{content:"\f047"}.fa4-times-circle-o:before{content:"\f05c"}.fa4-check-circle-o:before{content:"\f05d"}.fa4-arrows-v:before{content:"\f07d"}.fa4-arrows-h:before{content:"\f07e"}.fa4-thumbs-o-up:before{content:"\f087"}.fa4-thumbs-o-down:before{content:"\f088"}.fa4-heart-o:before{content:"\f08a"}.fa4-sign-out:before{content:"\f08b"}.fa4-external-link:before{content:"\f08e"}.fa4-sign-in:before{content:"\f090"}.fa4-square-o:before{content:"\f096"}.fa4-bookmark-o:before{content:"\f097"}.fa4-dashboard:before,.fa4-tachometer:before{content:"\f0e4"}.fa4-comment-o:before{content:"\f0e5"}.fa4-comments-o:before{content:"\f0e6"}.fa4-exchange:before{content:"\f0ec"}.fa4-cloud-download:before{content:"\f0ed"}.fa4-cloud-upload:before{content:"\f0ee"}.fa4-bell-o:before{content:"\f0a2"}.fa4-cutlery:before{content:"\f0f5"}.fa4-file-text-o:before{content:"\f0f6"}.fa4-building-o:before{content:"\f0f7"}.fa4-circle-o:before{content:"\f10c"}.fa4-mail-reply:before,.fa4-reply:before{content:"\f112"}.fa4-folder-o:before{content:"\f114"}.fa4-folder-open-o:before{content:"\f115"}.fa4-flag-o:before{content:"\f11d"}.fa4-star-half-empty:before,.fa4-star-half-full:before,.fa4-star-half-o:before{content:"\f123"}.fa4-shield:before{content:"\f132"}.fa4-ticket:before{content:"\f145"}.fa4-minus-square-o:before{content:"\f147"}.fa4-level-up:before{content:"\f148"}.fa4-level-down:before{content:"\f149"}.fa4-external-link-square:before{content:"\f14c"}.fa4-youtube-square:before{content:"\f166"}.fa4-youtube-play:before{content:"\f16a"}.fa4-bitbucket-square:before{content:"\f172"}.fa4-long-arrow-down:before{content:"\f175"}.fa4-long-arrow-up:before{content:"\f176"}.fa4-long-arrow-left:before{content:"\f177"}.fa4-long-arrow-right:before{content:"\f178"}.fa4-arrow-circle-o-right:before{content:"\f18e"}.fa4-arrow-circle-o-left:before{content:"\f190"}.fa4-plus-square-o:before{content:"\f196"}.fa4-spoon:before{content:"\f1b1"}.fa4-paper-plane-o:before,.fa4-send-o:before{content:"\f1d9"}.fa4-circle-thin:before{content:"\f1db"}.fa4-bell-slash-o:before{content:"\f1f7"}.fa4-meanpath:before{content:"\f20c"}.fa4-diamond:before{content:"\f219"}.fa4-facebook-official:before{content:"\f230"}.fa4-sticky-note-o:before{content:"\f24a"}.fa4-hourglass-o:before{content:"\f250"}.fa4-map-o:before{content:"\f278"}.fa4-commenting-o:before{content:"\f27b"}.fa4-credit-card-alt:before{content:"\f283"}.fa4-pause-circle-o:before{content:"\f28c"}.fa4-stop-circle-o:before{content:"\f28e"}.fa4-wheelchair-alt:before{content:"\f29b"}.fa4-question-circle-o:before{content:"\f29c"}.fa4-envelope-open-o:before{content:"\f2b7"}.fa4-address-book-o:before{content:"\f2ba"}.fa4-address-card-o:before,.fa4-vcard-o:before{content:"\f2bc"}.fa4-user-circle-o:before{content:"\f2be"}.fa4-user-o:before{content:"\f2c0"}.fa4-drivers-license-o:before,.fa4-id-card-o:before{content:"\f2c3"}.fa4-times-rectangle:before,.fa4-window-close:before{content:"\f2d3"}.fa4-times-rectangle-o:before,.fa4-window-close-o:before{content:"\f2d4"}.charts-icon-geoglobe:before{content:"\0041"}.mms-icon-addcenter{color:#13aa52;color:var(--mms-green2)}.mms-icon-configsvr-down,.mms-icon-configsvr-fatal,.mms-icon-configsvr-shunned,.mms-icon-configsvr-unknown,.mms-icon-deadface,.mms-icon-down,.mms-icon-fatal,.mms-icon-shunned,.mms-icon-unknown{color:#ef4c4c;color:var(--mms-alert-red)}.mms-icon-configsvr-recovering,.mms-icon-configsvr-rollback,.mms-icon-configsvr-startup,.mms-icon-configsvr-startup2,.mms-icon-recovering,.mms-icon-rollback,.mms-icon-startup,.mms-icon-startup2,.mms-icon-surprisedface{color:#ffb618;color:var(--mms-warning-text)}.mms-icon-configsvr-arbiter:after,.mms-icon-configsvr-delayed:after,.mms-icon-configsvr-down:after,.mms-icon-configsvr-fatal:after,.mms-icon-configsvr-hidden:after,.mms-icon-configsvr-nostate:after,.mms-icon-configsvr-primary:after,.mms-icon-configsvr-recovering:after,.mms-icon-configsvr-rollback:after,.mms-icon-configsvr-secondary:after,.mms-icon-configsvr-shunned:after,.mms-icon-configsvr-startup2:after,.mms-icon-configsvr-startup:after,.mms-icon-configsvr-unknown:after,.mms-icon-replica-set-configsvr:after{content:"\E084"}.mms-icon-wrench-exclamation{color:#babdbe;color:var(--mms-gray5)}.mms-icon-replica-set-configsvr{content:"\E144"}.mms-org-icon-activity-feed:before{content:"\0049"}.mms-icon-nostate:before{content:"\E000"}.mms-icon-startup2:before,.mms-icon-startup:before{content:"\E001"}.mms-icon-primary:before{content:"\E004"}.mms-icon-secondary:before{content:"\E005"}.mms-icon-arbiter:before{content:"\E007"}.mms-icon-hidden-s:before{content:"\E009"}.mms-icon-delayed:before{content:"\E011"}.mms-icon-recovering:before{content:"\E013"}.mms-icon-down:before{content:"\E015"}.mms-icon-fatal:before{content:"\E017"}.mms-icon-shunned:before{content:"\E019"}.mms-icon-rollback:before{content:"\E021"}.mms-icon-unknown:before{content:"\E023"}.mms-icon-standalone:before{content:"\E030"}.mms-icon-replica-set:before{content:"\E031"}.mms-icon-replica-set-configsvr:before{content:"\E143"}.mms-icon-cluster:before{content:"\E032"}.mms-icon-mongos:before{content:"\E033"}.mms-icon-configsvr:before{content:"\E034"}.mms-icon-configsvr-down:before{content:"\E045"}.mms-icon-configsvr-shunned:before{content:"\E048"}.mms-icon-configsvr-hidden:before{content:"\E051"}.mms-icon-configsvr-recovering:before{content:"\E054"}.mms-icon-configsvr-delayed:before{content:"\E057"}.mms-icon-configsvr-arbiter:before{content:"\E060"}.mms-icon-configsvr-nostate:before{content:"\E038"}.mms-icon-configsvr-primary:before{content:"\E040"}.mms-icon-configsvr-startup2:before,.mms-icon-configsvr-startup:before{content:"\E063"}.mms-icon-configsvr-secondary:before{content:"\E042"}.mms-icon-configsvr-rollback:before{content:"\E066"}.mms-icon-configsvr-fatal:before{content:"\E069"}.mms-icon-configsvr-unknown:before{content:"\E072"}.mms-icon-addcenter:before{content:"\E083"}.mms-icon-dragtopleft:before{content:"\E200"}.mms-icon-bell:before{content:"\E201"}.mms-icon-list:before{content:"\E202"}.mms-icon-topology:before{content:"\E203"}.mms-icon-cloud:before{content:"\E204"}.mms-icon-lock:before{content:"\E205"}.mms-icon-laptop:before{content:"\E206"}.mms-icon-office:before{content:"\E207"}.mms-icon-floppy:before{content:"\E208"}.mms-icon-support1:before{content:"\E209"}.mms-icon-support2:before{content:"\E210"}.mms-icon-add:before{content:"\E211"}.mms-icon-remove:before{content:"\E212"}.mms-icon-check:before{content:"\E213"}.mms-icon-creditcard:before{content:"\E214"}.mms-icon-graph:before{content:"\E215"}.mms-icon-api:before{content:"\E216"}.mms-icon-2fa:before{content:"\E217"}.mms-icon-smartphone:before{content:"\E218"}.mms-icon-continuous:before{content:"\E219"}.mms-icon-pointintime:before{content:"\E220"}.mms-icon-hammer:before{content:"\E221"}.mms-icon-edit:before{content:"\E222"}.mms-icon-umbrella:before{content:"\E223"}.mms-icon-ellipsis:before{content:"\E224"}.mms-icon-dragleft:before{content:"\E225"}.mms-icon-list-skinny:before{content:"\E226"}.mms-icon-modify:before,.mms-icon-wrench:before{content:"\E227"}.mms-icon-grid:before{content:"\E228"}.mms-icon-ssl:before{content:"\E229"}.mms-icon-auth:before{content:"\E230"}.mms-icon-metrics:before{content:"\E232"}.mms-icon-back:before{content:"\E233"}.mms-icon-surprisedface:before{content:"\E234"}.mms-icon-sadface:before{content:"\E235"}.mms-icon-deadface:before{content:"\E236"}.mms-icon-paused:before{content:"\E239"}.mms-icon-automation:before{content:"\E300"}.mms-icon-backup:before{content:"\E301"}.mms-icon-monitoring:before{content:"\E302"}.mms-icon-group:before{content:"\E303"}.mms-icon-user:before{content:"\E304"}.mms-icon-role:before{content:"\E305"}.mms-icon-leaf:before{content:"\E306"}.mms-icon-databases:before{content:"\E307"}.mms-icon-database:before{content:"\E308"}.mms-icon-servers:before{content:"\E309"}.mms-icon-server:before{content:"\E310"}.mms-icon-dashboard:before{content:"\E311"}.mms-icon-setup:before{content:"\E312"}.mms-icon-settings:before{content:"\E313"}.mms-icon-activity:before{content:"\E314"}.mms-icon-ops-manager:before{content:"\E315"}.mms-icon-logo-amazon:before{content:"\E500"}.mms-icon-logo-ubuntu:before{content:"\E501"}.mms-icon-logo-apple:before{content:"\E502"}.mms-icon-logo-linux:before{content:"\E503"}.mms-icon-logo-windows:before{content:"\E504"}.mms-icon-logo-redhat:before{content:"\E505"}.mms-icon-rocketbot:before{content:"\F006"}.mms-icon-snowbot:before{content:"\F007"}.mms-icon-medium-cloud:before{content:"\F010"}.mms-icon-sadface{color:color(var(--alert-red) tint(25%));color:var(--mms-alert-red-dark)}body{--font-color-primary:var(--black);--font-color-light:var(--gray-base);--heading-color-primary:var(--green-dark2);--opposite-color:var(--black);--link-color-primary:var(--blue-base);--link-font-weight:500;--background-color-primary:var(--white);--background-color-secondary:var(--gray-light3);--sidenav-bg-color:var(--gray-light3);--sidenav-border-bottom-color:var(--gray-light2);--sidenav-toggle-color:var(--green-dark2);--sidenav-toggle-border-color:var(--gray-light2);--sidenav-item-title:var(--gray-dark3);--sidenav-item-color:var(--black);--sidenav-hover-bg-color:var(--gray-light2);--sidenav-active-bg-color:var(--green-light3);--sidenav-active-color:var(--green-dark2);--sidenav-active-before-color:var(--green-dark1);--select-button-bg-color:var(--white);--select-button-color:var(--black);--select-button-carot:var(--gray-dark2);--tab-color-primary:var(--gray-dark1);--tab-color-secondary:var(--green-dark2);--wayfinding-bg-color:var(--gray-light3);--wayfinding-border-color:var(--gray-light2)}.dark-theme body{--font-color-primary:var(--gray-light2);--font-color-light:var(--gray-light2);--heading-color-primary:var(--gray-light2);--opposite-color:var(--white);--link-color-primary:var(--blue-light1);--link-font-weight:700;--background-color-primary:var(--black);--background-color-secondary:transparent;--sidenav-bg-color:var(--gray-dark4);--sidenav-border-bottom-color:var(--gray-dark2);--sidenav-toggle-color:var(--gray-light1);--sidenav-toggle-border-color:var(--gray-dark2);--sidenav-item-title:var(--gray-light2);--sidenav-item-color:var(--gray-light2);--sidenav-hover-bg-color:var(--gray-dark3);--sidenav-active-bg-color:var(--green-dark3);--sidenav-active-color:var(--white);--sidenav-active-before-color:var(--green-base);--select-button-bg-color:var(--gray-dark4);--select-button-color:var(--gray-light3);--select-button-carot:var(--gray-light1);--tab-color-primary:var(--gray-light1);--tab-color-secondary:var(--gray-light2);--wayfinding-bg-color:var(--gray-dark3);--wayfinding-border-color:var(--gray-dark2);::-webkit-scrollbar{background:var(--gray-dark3)}::-webkit-scrollbar-thumb{background:var(--gray-dark2);background-clip:content-box;border:3px solid transparent;border-radius:9px}}body{background-color:var(--background-color-primary);color:var(--font-color-primary)}.nav-dark{display:none}.dark-theme .nav-dark,.nav-light{display:initial}.dark-theme .nav-light{display:none}Project Fields to Return from Query - Database Manual - MongoDB DocsDownload
Try Community Edition
Explore the latest version of MongoDB
MongoDB logo
Docs Menu
Docs Home
/
Database Manual
/ /

Project Fields to Return from Query

You can query embedded documents in MongoDB by using the following methods:

  • Your programming language's driver.

  • The MongoDB Atlas UI. To learn more, see Project Fields to Return from a Query with MongoDB Atlas.

  • MongoDB Compass.


➤ Use the Select your language drop-down menu in the upper-right to set the language of the following examples or select MongoDB Compass.


By default, queries in MongoDB return all fields in matching documents. To limit the amount of data that MongoDB sends to applications, you can include a projection document to specify or restrict fields to return.

This page provides examples of query operations with projection using MongoDB Compass.

The examples on this page use the inventory collection. Connect to a test database in your MongoDB instance then create the inventory collection:

This page provides examples of query operations with projection using mongoc_collection_find_with_opts.

The examples on this page use the inventory collection. Connect to a test database in your MongoDB instance then create the inventory collection:

This page provides examples of query operations with projection using the MongoCollection.Find() method in the MongoDB C# Driver.

The examples on this page use the inventory collection. Connect to a test database in your MongoDB instance then create the inventory collection:

This page provides examples of query operations with projection using the Collection.Find function in the MongoDB Go Driver.

The examples on this page use the inventory collection. Connect to a test database in your MongoDB instance then create the inventory collection:

This page provides examples of query operations with projection using the com.mongodb.reactivestreams.client.MongoCollection.find method in the MongoDB Java Reactive Streams Driver.

The examples on this page use the inventory collection. Connect to a test database in your MongoDB instance then create the inventory collection:

This page provides examples of query operations with projection using the com.mongodb.client.MongoCollection.find method in the MongoDB com.mongodb.client.model.Filters helper methods to facilitate the creation of filter documents. The examples on this page use these methods to create the filter documents.

The examples on this page use the inventory collection. Connect to a test database in your MongoDB instance then create the inventory collection:

This page provides examples of query operations with projection by using the MongoCollection.find() method in the MongoDB com.mongodb.client.model.Filters helper methods to facilitate the creation of filter documents. The examples on this page use these methods to create the filter documents.

The examples on this page use the inventory collection. Connect to a test database in your MongoDB instance then create the inventory collection:

This page provides examples of query operations with projection using the motor.motor_asyncio.AsyncIOMotorCollection.find method in the Motor driver.

The examples on this page use the inventory collection. Connect to a test database in your MongoDB instance then create the inventory collection:

This page provides examples of query operations with projection using the Collection.find() method in the MongoDB Node.js Driver.

The examples on this page use the inventory collection. Connect to a test database in your MongoDB instance then create the inventory collection:

This page provides examples of query operations with projection using the MongoDB\\Collection::find() method in the MongoDB PHP Library.

The examples on this page use the inventory collection. Connect to a test database in your MongoDB instance then create the inventory collection:

This page provides examples of query operations with projection using the pymongo.collection.Collection.find method in the PyMongo Python driver.

The examples on this page use the inventory collection. Connect to a test database in your MongoDB instance then create the inventory collection:

This page provides examples of query operations with projection using the Mongo::Collection#find() method in the MongoDB Ruby Driver.

The examples on this page use the inventory collection. Connect to a test database in your MongoDB instance then create the inventory collection:

This page provides examples of query operations with projection using the collection.find() method in the MongoDB Scala Driver.

The examples on this page use the inventory collection. Connect to a test database in your MongoDB instance then create the inventory collection:

db.inventory.insertMany( [
{ item: "journal", status: "A", size: { h: 14, w: 21, uom: "cm" }, instock: [ { warehouse: "A", qty: 5 } ] },
{ item: "notebook", status: "A", size: { h: 8.5, w: 11, uom: "in" }, instock: [ { warehouse: "C", qty: 5 } ] },
{ item: "paper", status: "D", size: { h: 8.5, w: 11, uom: "in" }, instock: [ { warehouse: "A", qty: 60 } ] },
{ item: "planner", status: "D", size: { h: 22.85, w: 30, uom: "cm" }, instock: [ { warehouse: "A", qty: 40 } ] },
{ item: "postcard", status: "A", size: { h: 10, w: 15.25, uom: "cm" }, instock: [ { warehouse: "B", qty: 15 }, { warehouse: "C", qty: 35 } ] }
]);
[
{ "item": "journal", "status": "A", "size": { "h": 14, "w": 21, "uom": "cm" }, "instock": [ { "warehouse": "A", "qty": 5 } ] },
{ "item": "notebook", "status": "A", "size": { "h": 8.5, "w": 11, "uom": "in" }, "instock": [ { "warehouse": "C", "qty": 5 } ] },
{ "item": "paper", "status": "D", "size": { "h": 8.5, "w": 11, "uom": "in" }, "instock": [ { "warehouse": "A", "qty": 60 } ] },
{ "item": "planner", "status": "D", "size": { "h": 22.85, "w": 30, "uom": "cm" }, "instock": [ { "warehouse": "A", "qty": 40 } ] },
{ "item": "postcard", "status": "A", "size": { "h": 10, "w": 15.25, "uom": "cm" }, "instock": [ { "warehouse": "B", "qty": 15 }, { "warehouse": "C", "qty": 35 } ] }
]

For instructions on inserting documents in MongoDB Compass, see Insert Documents.

mongoc_collection_t *collection;
mongoc_bulk_operation_t *bulk;
bson_t *doc;
bool r;
bson_error_t error;
bson_t reply;
collection = mongoc_database_get_collection (db, "inventory");
bulk = mongoc_collection_create_bulk_operation_with_opts (collection, NULL);
doc = BCON_NEW (
"item", BCON_UTF8 ("journal"),
"status", BCON_UTF8 ("A"),
"size", "{",
"h", BCON_DOUBLE (14),
"w", BCON_DOUBLE (21),
"uom", BCON_UTF8 ("cm"),
"}",
"instock", "[",
"{",
"warehouse", BCON_UTF8 ("A"),
"qty", BCON_INT64 (5),
"}",
"]");
r = mongoc_bulk_operation_insert_with_opts (bulk, doc, NULL, &error);
bson_destroy (doc);
if (!r) {
MONGOC_ERROR ("%s\n", error.message);
goto done;
}
doc = BCON_NEW (
"item", BCON_UTF8 ("notebook"),
"status", BCON_UTF8 ("A"),
"size", "{",
"h", BCON_DOUBLE (8.5),
"w", BCON_DOUBLE (11),
"uom", BCON_UTF8 ("in"),
"}",
"instock", "[",
"{",
"warehouse", BCON_UTF8 ("C"),
"qty", BCON_INT64 (5),
"}",
"]");
r = mongoc_bulk_operation_insert_with_opts (bulk, doc, NULL, &error);
bson_destroy (doc);
if (!r) {
MONGOC_ERROR ("%s\n", error.message);
goto done;
}
doc = BCON_NEW (
"item", BCON_UTF8 ("paper"),
"status", BCON_UTF8 ("D"),
"size", "{",
"h", BCON_DOUBLE (8.5),
"w", BCON_DOUBLE (11),
"uom", BCON_UTF8 ("in"),
"}",
"instock", "[",
"{",
"warehouse", BCON_UTF8 ("A"),
"qty", BCON_INT64 (60),
"}",
"]");
r = mongoc_bulk_operation_insert_with_opts (bulk, doc, NULL, &error);
bson_destroy (doc);
if (!r) {
MONGOC_ERROR ("%s\n", error.message);
goto done;
}
doc = BCON_NEW (
"item", BCON_UTF8 ("planner"),
"status", BCON_UTF8 ("D"),
"size", "{",
"h", BCON_DOUBLE (22.85),
"w", BCON_DOUBLE (30),
"uom", BCON_UTF8 ("cm"),
"}",
"instock", "[",
"{",
"warehouse", BCON_UTF8 ("A"),
"qty", BCON_INT64 (40),
"}",
"]");
r = mongoc_bulk_operation_insert_with_opts (bulk, doc, NULL, &error);
bson_destroy (doc);
if (!r) {
MONGOC_ERROR ("%s\n", error.message);
goto done;
}
doc = BCON_NEW (
"item", BCON_UTF8 ("postcard"),
"status", BCON_UTF8 ("A"),
"size", "{",
"h", BCON_DOUBLE (10),
"w", BCON_DOUBLE (15.25),
"uom", BCON_UTF8 ("cm"),
"}",
"instock", "[",
"{",
"warehouse", BCON_UTF8 ("B"),
"qty", BCON_INT64 (15),
"}","{",
"warehouse", BCON_UTF8 ("C"),
"qty", BCON_INT64 (35),
"}",
"]");
r = mongoc_bulk_operation_insert_with_opts (bulk, doc, NULL, &error);
bson_destroy (doc);
if (!r) {
MONGOC_ERROR ("%s\n", error.message);
goto done;
}
/* "reply" is initialized on success or error */
r = (bool) mongoc_bulk_operation_execute (bulk, &reply, &error);
if (!r) {
MONGOC_ERROR ("%s\n", error.message);
}
var documents = new[]
{
new BsonDocument
{
{ "item", "journal" },
{ "status", "A" },
{ "size", new BsonDocument { { "h", 14 }, { "w", 21 }, { "uom", "cm" } } },
{ "instock", new BsonArray
{
new BsonDocument { { "warehouse", "A" }, { "qty", 5 } } }
}
},
new BsonDocument
{
{ "item", "notebook" },
{ "status", "A" },
{ "size", new BsonDocument { { "h", 8.5 }, { "w", 11 }, { "uom", "in" } } },
{ "instock", new BsonArray
{
new BsonDocument { { "warehouse", "C" }, { "qty", 5 } } }
}
},
new BsonDocument
{
{ "item", "paper" },
{ "status", "D" },
{ "size", new BsonDocument { { "h", 8.5 }, { "w", 11 }, { "uom", "in" } } },
{ "instock", new BsonArray
{
new BsonDocument { { "warehouse", "A" }, { "qty", 60 } } }
}
},
new BsonDocument
{
{ "item", "planner" },
{ "status", "D" },
{ "size", new BsonDocument { { "h", 22.85 }, { "w", 30 }, { "uom", "cm" } } },
{ "instock", new BsonArray
{
new BsonDocument { { "warehouse", "A" }, { "qty", 40 } } }
}
},
new BsonDocument
{
{ "item", "postcard" },
{ "status", "A" },
{ "size", new BsonDocument { { "h", 10 }, { "w", 15.25 }, { "uom", "cm" } } },
{ "instock", new BsonArray
{
new BsonDocument { { "warehouse", "B" }, { "qty", 15 } },
new BsonDocument { { "warehouse", "C" }, { "qty", 35 } } }
}
}
};
collection.InsertMany(documents);
docs := []interface{}{
bson.D{
{"item", "journal"},
{"status", "A"},
{"size", bson.D{
{"h", 14},
{"w", 21},
{"uom", "cm"},
}},
{"instock", bson.A{
bson.D{
{"warehouse", "A"},
{"qty", 5},
},
}},
},
bson.D{
{"item", "notebook"},
{"status", "A"},
{"size", bson.D{
{"h", 8.5},
{"w", 11},
{"uom", "in"},
}},
{"instock", bson.A{
bson.D{
{"warehouse", "EC"},
{"qty", 5},
},
}},
},
bson.D{
{"item", "paper"},
{"status", "D"},
{"size", bson.D{
{"h", 8.5},
{"w", 11},
{"uom", "in"},
}},
{"instock", bson.A{
bson.D{
{"warehouse", "A"},
{"qty", 60},
},
}},
},
bson.D{
{"item", "planner"},
{"status", "D"},
{"size", bson.D{
{"h", 22.85},
{"w", 30},
{"uom", "cm"},
}},
{"instock", bson.A{
bson.D{
{"warehouse", "A"},
{"qty", 40},
},
}},
},
bson.D{
{"item", "postcard"},
{"status", "A"},
{"size", bson.D{
{"h", 10},
{"w", 15.25},
{"uom", "cm"},
}},
{"instock", bson.A{
bson.D{
{"warehouse", "B"},
{"qty", 15},
},
bson.D{
{"warehouse", "EC"},
{"qty", 35},
},
}},
},
}
result, err := coll.InsertMany(context.TODO(), docs)
Publisher<Success> insertManyPublisher = collection.insertMany(asList(
Document.parse("{ item: 'journal', status: 'A', size: { h: 14, w: 21, uom: 'cm' }, instock: [ { warehouse: 'A', qty: 5 }]}"),
Document.parse("{ item: 'notebook', status: 'A', size: { h: 8.5, w: 11, uom: 'in' }, instock: [ { warehouse: 'C', qty: 5}]}"),
Document.parse("{ item: 'paper', status: 'D', size: { h: 8.5, w: 11, uom: 'in' }, instock: [ { warehouse: 'A', qty: 60 }]}"),
Document.parse("{ item: 'planner', status: 'D', size: { h: 22.85, w: 30, uom: 'cm' }, instock: [ { warehouse: 'A', qty: 40}]}"),
Document.parse("{ item: 'postcard', status: 'A', size: { h: 10, w: 15.25, uom: 'cm' }, "
+ "instock: [ { warehouse: 'B', qty: 15 }, { warehouse: 'C', qty: 35 } ] }")
));
collection.insertMany(asList(
Document.parse("{ item: 'journal', status: 'A', size: { h: 14, w: 21, uom: 'cm' }, instock: [ { warehouse: 'A', qty: 5 }]}"),
Document.parse("{ item: 'notebook', status: 'A', size: { h: 8.5, w: 11, uom: 'in' }, instock: [ { warehouse: 'C', qty: 5}]}"),
Document.parse("{ item: 'paper', status: 'D', size: { h: 8.5, w: 11, uom: 'in' }, instock: [ { warehouse: 'A', qty: 60 }]}"),
Document.parse("{ item: 'planner', status: 'D', size: { h: 22.85, w: 30, uom: 'cm' }, instock: [ { warehouse: 'A', qty: 40}]}"),
Document.parse("{ item: 'postcard', status: 'A', size: { h: 10, w: 15.25, uom: 'cm' }, "
+ "instock: [ { warehouse: 'B', qty: 15 }, { warehouse: 'C', qty: 35 } ] }")
));
collection.insertMany(
listOf(
Document("item", "journal")
.append("status", "A")
.append("size", Document("h", 14).append("w", 21).append("uom", "cm"))
.append("instock", listOf(
Document("warehouse", "A").append("qty", 5),
)),
Document("item", "notebook")
.append("status", "A")
.append("size", Document("h", 8.5).append("w", 11).append("uom", "in"))
.append("instock", listOf(
Document("warehouse", "C").append("qty", 5),
)),
Document("item", "paper")
.append("status", "D")
.append("size", Document("h", 8.5).append("w", 11).append("uom", "in"))
.append("instock", listOf(
Document("warehouse", "A").append("qty", 60),
)),
Document("item", "planner")
.append("status", "D")
.append("size", Document("h", 22.85).append("w", 30).append("uom", "cm"))
.append("instock", listOf(
Document("warehouse", "A").append("qty", 40),
)),
Document("item", "postcard")
.append("status", "A")
.append("size", Document("h", 10).append("w", 15.25).append("uom", "cm"))
.append("instock", listOf(
Document("warehouse", "B").append("qty", 15),
Document("warehouse", "C").append("qty", 35)
)),
)
)
await db.inventory.insert_many(
[
{
"item": "journal",
"status": "A",
"size": {"h": 14, "w": 21, "uom": "cm"},
"instock": [{"warehouse": "A", "qty": 5}],
},
{
"item": "notebook",
"status": "A",
"size": {"h": 8.5, "w": 11, "uom": "in"},
"instock": [{"warehouse": "C", "qty": 5}],
},
{
"item": "paper",
"status": "D",
"size": {"h": 8.5, "w": 11, "uom": "in"},
"instock": [{"warehouse": "A", "qty": 60}],
},
{
"item": "planner",
"status": "D",
"size": {"h": 22.85, "w": 30, "uom": "cm"},
"instock": [{"warehouse": "A", "qty": 40}],
},
{
"item": "postcard",
"status": "A",
"size": {"h": 10, "w": 15.25, "uom": "cm"},
"instock": [{"warehouse": "B", "qty": 15}, {"warehouse": "C", "qty": 35}],
},
]
)
await db.collection('inventory').insertMany([
{
item: 'journal',
status: 'A',
size: { h: 14, w: 21, uom: 'cm' },
instock: [{ warehouse: 'A', qty: 5 }]
},
{
item: 'notebook',
status: 'A',
size: { h: 8.5, w: 11, uom: 'in' },
instock: [{ warehouse: 'C', qty: 5 }]
},
{
item: 'paper',
status: 'D',
size: { h: 8.5, w: 11, uom: 'in' },
instock: [{ warehouse: 'A', qty: 60 }]
},
{
item: 'planner',
status: 'D',
size: { h: 22.85, w: 30, uom: 'cm' },
instock: [{ warehouse: 'A', qty: 40 }]
},
{
item: 'postcard',
status: 'A',
size: { h: 10, w: 15.25, uom: 'cm' },
instock: [
{ warehouse: 'B', qty: 15 },
{ warehouse: 'C', qty: 35 }
]
}
]);
$insertManyResult = $db->inventory->insertMany([
[
'item' => 'journal',
'status' => 'A',
'size' => ['h' => 14, 'w' => 21, 'uom' => 'cm'],
'instock' => [
['warehouse' => 'A', 'qty' => 5],
],
],
[
'item' => 'notebook',
'status' => 'A',
'size' => ['h' => 8.5, 'w' => 11, 'uom' => 'in'],
'instock' => [
['warehouse' => 'C', 'qty' => 5],
],
],
[
'item' => 'paper',
'status' => 'D',
'size' => ['h' => 8.5, 'w' => 11, 'uom' => 'in'],
'instock' => [
['warehouse' => 'A', 'qty' => 60],
],
],
[
'item' => 'planner',
'status' => 'D',
'size' => ['h' => 22.85, 'w' => 30, 'uom' => 'cm'],
'instock' => [
['warehouse' => 'A', 'qty' => 40],
],
],
[
'item' => 'postcard',
'status' => 'A',
'size' => ['h' => 10, 'w' => 15.25, 'uom' => 'cm'],
'instock' => [
['warehouse' => 'B', 'qty' => 15],
['warehouse' => 'C', 'qty' => 35],
],
],
]);
db.inventory.insert_many(
[
{
"item": "journal",
"status": "A",
"size": {"h": 14, "w": 21, "uom": "cm"},
"instock": [{"warehouse": "A", "qty": 5}],
},
{
"item": "notebook",
"status": "A",
"size": {"h": 8.5, "w": 11, "uom": "in"},
"instock": [{"warehouse": "C", "qty": 5}],
},
{
"item": "paper",
"status": "D",
"size": {"h": 8.5, "w": 11, "uom": "in"},
"instock": [{"warehouse": "A", "qty": 60}],
},
{
"item": "planner",
"status": "D",
"size": {"h": 22.85, "w": 30, "uom": "cm"},
"instock": [{"warehouse": "A", "qty": 40}],
},
{
"item": "postcard",
"status": "A",
"size": {"h": 10, "w": 15.25, "uom": "cm"},
"instock": [{"warehouse": "B", "qty": 15}, {"warehouse": "C", "qty": 35}],
},
]
)
client[:inventory].insert_many([{ item: 'journal',
status: 'A',
size: { h: 14, w: 21, uom: 'cm' },
instock: [ { warehouse: 'A', qty: 5 }] },
{ item: 'notebook',
status: 'A',
size: { h: 8.5, w: 11, uom: 'in' },
instock: [ { warehouse: 'C', qty: 5 }] },
{ item: 'paper',
status: 'D',
size: { h: 8.5, w: 11, uom: 'in' },
instock: [ { warehouse: 'A', qty: 60 }] },
{ item: 'planner',
status: 'D',
size: { h: 22.85, w: 30, uom: 'cm' },
instock: [ { warehouse: 'A', qty: 40 }] },
{ item: 'postcard',
status: 'A',
size: { h: 10, w: 15.25, uom: 'cm' },
instock: [ { warehouse: 'B', qty: 15 },
{ warehouse: 'C', qty: 35 }] }])
collection.insertMany(Seq(
Document("""{ item: "journal", status: "A", size: { h: 14, w: 21, uom: "cm" }, instock: [ { warehouse: "A", qty: 5 } ] }"""),
Document("""{ item: "notebook", status: "A", size: { h: 8.5, w: 11, uom: "in" }, instock: [ { warehouse: "C", qty: 5 } ] }"""),
Document("""{ item: "paper", status: "D", size: { h: 8.5, w: 11, uom: "in" }, instock: [ { warehouse: "A", qty: 60 } ] }"""),
Document("""{ item: "planner", status: "D", size: { h: 22.85, w: 30, uom: "cm" }, instock: [ { warehouse: "A", qty: 40 } ] }"""),
Document("""{ item: "postcard", status: "A", size: { h: 10, w: 15.25, uom: "cm" },
instock: [ { warehouse: "B", qty: 15 }, { warehouse: "C", qty: 35 } ] }""")
)).execute()

If you do not specify a projection document, the db.collection.find() method returns all fields in the matching documents.

If you do not specify a projection document, Compass returns all fields in the matching documents.

If you do not specify a projection filter, the MongoCollection.Find() method returns all fields in the matching documents.

If you do not specify a projection, the com.mongodb.reactivestreams.client.MongoCollection.find method returns all fields in the matching documents.

If you do not specify a projection, the com.mongodb.client.MongoCollection.find method returns all fields in the matching documents.

If you do not specify a projection document, the MongoCollection.find() method returns all fields in the matching documents.

If you do not specify a projection document, the find() method yields all fields in the matching documents.

If you do not specify a projection document, the find() method returns all fields in the matching documents

If you do not specify a projection document, the find method returns all fields in the matching documents.

If you do not specify a projection document, the find() method returns all fields in the matching documents.

If you do not specify a projection, the collection.find() method returns all fields in the matching documents.

The following example returns all fields from all documents in the inventory collection where the status equals "A":

db.inventory.find( { status: "A" } )
  1. Copy the following expression into the Filter field:

    { status: "A" }
  2. Click Find.

mongoc_collection_t *collection;
bson_t *filter;
mongoc_cursor_t *cursor;
collection = mongoc_database_get_collection (db, "inventory");
filter = BCON_NEW ("status", BCON_UTF8 ("A"));
cursor = mongoc_collection_find_with_opts (collection, filter, NULL, NULL);
var filter = Builders<BsonDocument>.Filter.Eq("status", "A");
var result = collection.Find(filter).ToList();
cursor, err := coll.Find(
context.TODO(),
bson.D{{"status", "A"}},
)
FindPublisher<Document> findPublisher = collection.find(eq("status", "A"));
FindIterable<Document> findIterable = collection.find(eq("status", "A"));
val findFlow = collection
.find(eq("status", "A"))
cursor = db.inventory.find({"status": "A"})
const cursor = db.collection('inventory').find({
status: 'A'
});
$cursor = $db->inventory->find(['status' => 'A']);
cursor = db.inventory.find({"status": "A"})
client[:inventory].find(status: 'A')
var findObservable = collection.find(equal("status", "A"))

The operation corresponds to the following SQL statement:

SELECT * from inventory WHERE status = "A"

A projection can explicitly include several fields by setting the <field> to 1 in the projection document. The following operation returns all documents that match the query. In the result set, only the item, status and, by default, the _id fields return in the matching documents.

db.inventory.find( { status: "A" }, { item: 1, status: 1 } )
  1. Copy the following expression into the Filter field:

    { status: "A" }
  2. Click Options to open the additional query options.

  3. Copy the following expression into the Project field:

    { item: 1, status: 1 }
  4. Click Find.

mongoc_collection_t *collection;
bson_t *filter;
bson_t *opts;
mongoc_cursor_t *cursor;
collection = mongoc_database_get_collection (db, "inventory");
filter = BCON_NEW ("status", BCON_UTF8 ("A"));
opts = BCON_NEW ("projection", "{", "item", BCON_INT64 (1),
"status", BCON_INT64 (1), "}");
cursor = mongoc_collection_find_with_opts (collection, filter, opts, NULL);

Be sure to also clean up any open resources by calling the following methods, as appropriate:

var filter = Builders<BsonDocument>.Filter.Eq("status", "A");
var projection = Builders<BsonDocument>.Projection.Include("item").Include("status");
var result = collection.Find<BsonDocument>(filter).Project(projection).ToList();
projection := bson.D{
{"item", 1},
{"status", 1},
}
cursor, err := coll.Find(
context.TODO(),
bson.D{
{"status", "A"},
},
options.Find().SetProjection(projection),
)
findPublisher = collection.find(eq("status", "A")).projection(include("item", "status"));

To specify a projection document, chain the com.mongodb.client.FindIterable.projection method to the find method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

findIterable = collection.find(eq("status", "A")).projection(include("item", "status"));
val findFlow = collection
.find(eq("status", "A")).projection(include("item", "status"))
cursor = db.inventory.find({"status": "A"}, {"item": 1, "status": 1})
const cursor = db
.collection('inventory')
.find({
status: 'A'
})
.project({ item: 1, status: 1 });
$cursor = $db->inventory->find(
['status' => 'A'],
['projection' => ['item' => 1, 'status' => 1]],
);
cursor = db.inventory.find({"status": "A"}, {"item": 1, "status": 1})
client[:inventory].find({ status: 'A' },
projection: { item: 1, status: 1 })
findObservable = collection.find(equal("status", "A")).projection(include("item", "status"))

The operation corresponds to the following SQL statement:

SELECT _id, item, status from inventory WHERE status = "A"

You can remove the _id field from the results by setting it to 0 in the projection, as in the following example:

db.inventory.find( { status: "A" }, { item: 1, status: 1, _id: 0 } )
  1. Copy the following expression into the Filter field:

    { status: "A" }
  2. Click Options to open the additional query options.

  3. Copy the following expression into the Project field:

    { item: 1, status: 1, _id: 0 }
  4. Click Find.

mongoc_collection_t *collection;
bson_t *filter;
bson_t *opts;
mongoc_cursor_t *cursor;
collection = mongoc_database_get_collection (db, "inventory");
filter = BCON_NEW ("status", BCON_UTF8 ("A"));
opts = BCON_NEW ("projection", "{", "item", BCON_INT64 (1),
"status", BCON_INT64 (1),
"_id", BCON_INT64 (0), "}");
cursor = mongoc_collection_find_with_opts (collection, filter, opts, NULL);
var filter = Builders<BsonDocument>.Filter.Eq("status", "A");
var projection = Builders<BsonDocument>.Projection.Include("item").Include("status").Exclude("_id");
var result = collection.Find<BsonDocument>(filter).Project(projection).ToList();
projection := bson.D{
{"item", 1},
{"status", 1},
{"_id", 0},
}
cursor, err := coll.Find(
context.TODO(),
bson.D{
{"status", "A"},
},
options.Find().SetProjection(projection),
)
findPublisher = collection.find(eq("status", "A"))
.projection(fields(include("item", "status"), excludeId()));

To specify a projection document, chain the com.mongodb.client.FindIterable.projection method to the find method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

findIterable = collection.find(eq("status", "A"))
.projection(fields(include("item", "status"), excludeId()));
val findFlow = collection
.find(eq("status", "A")).projection(fields(include("item", "status"), excludeId()))
cursor = db.inventory.find({"status": "A"}, {"item": 1, "status": 1, "_id": 0})
const cursor = db
.collection('inventory')
.find({
status: 'A'
})
.project({ item: 1, status: 1, _id: 0 });
$cursor = $db->inventory->find(
['status' => 'A'],
['projection' => ['item' => 1, 'status' => 1, '_id' => 0]],
);
cursor = db.inventory.find({"status": "A"}, {"item": 1, "status": 1, "_id": 0})
client[:inventory].find({ status: 'A' },
projection: { item: 1, status: 1, _id: 0 })
findObservable = collection.find(equal("status", "A"))
.projection(fields(include("item", "status"), excludeId()))

The operation corresponds to the following SQL statement:

SELECT item, status from inventory WHERE status = "A"

Note

With the exception of the _id field, you cannot combine inclusion and exclusion statements in projection documents.

Instead of listing the fields to return in the matching document, you can use a projection to exclude specific fields. The following example which returns all fields except for the status and the instock fields in the matching documents:

db.inventory.find( { status: "A" }, { status: 0, instock: 0 } )
  1. Copy the following expression into the Filter field:

    { status: "A" }
  2. Click Options to open the additional query options.

  3. Copy the following expression into the Project field:

    { status: 0, instock: 0 }
  4. Click Find.

mongoc_collection_t *collection;
bson_t *filter;
bson_t *opts;
mongoc_cursor_t *cursor;
collection = mongoc_database_get_collection (db, "inventory");
filter = BCON_NEW ("status", BCON_UTF8 ("A"));
opts = BCON_NEW ("projection", "{", "status", BCON_INT64 (0),
"instock", BCON_INT64 (0), "}");
cursor = mongoc_collection_find_with_opts (collection, filter, opts, NULL);
var filter = Builders<BsonDocument>.Filter.Eq("status", "A");
var projection = Builders<BsonDocument>.Projection.Exclude("status").Exclude("instock");
var result = collection.Find<BsonDocument>(filter).Project(projection).ToList();
projection := bson.D{
{"status", 0},
{"instock", 0},
}
cursor, err := coll.Find(
context.TODO(),
bson.D{
{"status", "A"},
},
options.Find().SetProjection(projection),
)
findPublisher = collection.find(eq("status", "A")).projection(exclude("item", "status"));

To specify a projection document, chain the com.mongodb.client.FindIterable.projection method to the find method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

findIterable = collection.find(eq("status", "A")).projection(exclude("item", "status"));
val findFlow = collection
.find(eq("status", "A")).projection(exclude("item", "status"))
cursor = db.inventory.find({"status": "A"}, {"status": 0, "instock": 0})
const cursor = db
.collection('inventory')
.find({
status: 'A'
})
.project({ status: 0, instock: 0 });
$cursor = $db->inventory->find(
['status' => 'A'],
['projection' => ['status' => 0, 'instock' => 0]],
);
cursor = db.inventory.find({"status": "A"}, {"status": 0, "instock": 0})
client[:inventory].find({ status: 'A' },
projection: { status: 0, instock: 0 })
findObservable = collection.find(equal("status", "A")).projection(exclude("item", "status"))

Note

With the exception of the _id field, you cannot combine inclusion and exclusion statements in projection documents.

You can return specific fields in an embedded document. Use the dot notation to refer to the embedded field and set to 1 in the projection document.

The following example returns:

  • The _id field (returned by default),

  • The item field,

  • The status field,

  • The uom field in the size document.

The uom field remains embedded in the size document.

db.inventory.find(
{ status: "A" },
{ item: 1, status: 1, "size.uom": 1 }
)
  1. Copy the following expression into the Filter field:

    { status: "A" }
  2. Click Options to open the additional query options.

  3. Copy the following expression into the Project field:

    { item: 1, status: 1, "size.uom": 1 }
  4. Click Find.

mongoc_collection_t *collection;
bson_t *filter;
bson_t *opts;
mongoc_cursor_t *cursor;
collection = mongoc_database_get_collection (db, "inventory");
filter = BCON_NEW ("status", BCON_UTF8 ("A"));
opts = BCON_NEW ("projection", "{", "item", BCON_INT64 (1),
"status", BCON_INT64 (1),
"size.uom", BCON_INT64 (1), "}");
cursor = mongoc_collection_find_with_opts (collection, filter, opts, NULL);
var filter = Builders<BsonDocument>.Filter.Eq("status", "A");
var projection = Builders<BsonDocument>.Projection.Include("item").Include("status").Include("size.uom");
var result = collection.Find<BsonDocument>(filter).Project(projection).ToList();
projection := bson.D{
{"item", 1},
{"status", 1},
{"size.uom", 1},
}
cursor, err := coll.Find(
context.TODO(),
bson.D{
{"status", "A"},
},
options.Find().SetProjection(projection),
)
findPublisher = collection.find(eq("status", "A")).projection(include("item", "status", "size.uom"));

To specify a projection document, chain the com.mongodb.client.FindIterable.projection method to the find method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

findIterable = collection.find(eq("status", "A")).projection(include("item", "status", "size.uom"));
val findFlow = collection
.find(eq("status", "A")).projection(include("item", "status", "size.uom"))
cursor = db.inventory.find({"status": "A"}, {"item": 1, "status": 1, "size.uom": 1})
const cursor = db
.collection('inventory')
.find({
status: 'A'
})
.project({ item: 1, status: 1, 'size.uom': 1 });
$cursor = $db->inventory->find(
['status' => 'A'],
['projection' => ['item' => 1, 'status' => 1, 'size.uom' => 1]],
);
cursor = db.inventory.find({"status": "A"}, {"item": 1, "status": 1, "size.uom": 1})
client[:inventory].find({ status: 'A' },
projection: { 'item' => 1, 'status' => 1, 'size.uom' => 1 })
findObservable = collection.find(equal("status", "A")).projection(include("item", "status", "size.uom"))

You can also specify embedded fields using the nested form. For example, { item: 1, status: 1, size: { uom: 1 } }.

You can suppress specific fields in an embedded document. Use the dot notation to refer to the embedded field in the projection document and set to 0.

The following example specifies a projection to exclude the uom field inside the size document. All other fields are returned in the matching documents:

db.inventory.find(
{ status: "A" },
{ "size.uom": 0 }
)
  1. Copy the following expression into the Filter field:

    { status: "A" }
  2. Click Options to open the additional query options.

  3. Copy the following expression into the Project field:

    { "size.uom": 0 }
  4. Click Find.

mongoc_collection_t *collection;
bson_t *filter;
bson_t *opts;
mongoc_cursor_t *cursor;
collection = mongoc_database_get_collection (db, "inventory");
filter = BCON_NEW ("status", BCON_UTF8 ("A"));
opts = BCON_NEW ("projection", "{", "size.uom", BCON_INT64 (0), "}");
cursor = mongoc_collection_find_with_opts (collection, filter, opts, NULL);
var filter = Builders<BsonDocument>.Filter.Eq("status", "A");
var projection = Builders<BsonDocument>.Projection.Exclude("size.uom");
var result = collection.Find<BsonDocument>(filter).Project(projection).ToList();
projection := bson.D{
{"size.uom", 0},
}
cursor, err := coll.Find(
context.TODO(),
bson.D{
{"status", "A"},
},
options.Find().SetProjection(projection),
)
findPublisher = collection.find(eq("status", "A")).projection(exclude("size.uom"));

To specify a projection document, chain the com.mongodb.client.FindIterable.projection method to the find method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

findIterable = collection.find(eq("status", "A")).projection(exclude("size.uom"));
val findFlow = collection
.find(eq("status", "A")).projection(exclude("size.uom"))
cursor = db.inventory.find({"status": "A"}, {"size.uom": 0})
const cursor = db
.collection('inventory')
.find({
status: 'A'
})
.project({ 'size.uom': 0 });
$cursor = $db->inventory->find(
['status' => 'A'],
['projection' => ['size.uom' => 0]],
);
cursor = db.inventory.find({"status": "A"}, {"size.uom": 0})
client[:inventory].find({ status: 'A' },
projection: { 'size.uom' => 0 })
findObservable = collection.find(equal("status", "A")).projection(exclude("size.uom"))

You can also specify embedded fields using the nested form. For example, { size: { uom: 0 } }.

Use dot notation to project specific fields inside documents embedded in an array.

The following example specifies a projection to return:

  • The _id field (returned by default),

  • The item field,

  • The status field,

  • The qty field in the documents embedded in the instock array.

db.inventory.find( { status: "A" }, { item: 1, status: 1, "instock.qty": 1 } )
  1. Copy the following expression into the Filter field:

    { status: "A" }
  2. Click Options to open the additional query options.

  3. Copy the following expression into the Project field:

    { item: 1, status: 1, "instock.qty": 1 }
  4. Click Find.

mongoc_collection_t *collection;
bson_t *filter;
bson_t *opts;
mongoc_cursor_t *cursor;
collection = mongoc_database_get_collection (db, "inventory");
filter = BCON_NEW ("status", BCON_UTF8 ("A"));
opts = BCON_NEW ("projection", "{", "item", BCON_INT64 (1),
"status", BCON_INT64 (1),
"instock.qty", BCON_INT64 (1), "}");
cursor = mongoc_collection_find_with_opts (collection, filter, opts, NULL);
var filter = Builders<BsonDocument>.Filter.Eq("status", "A");
var projection = Builders<BsonDocument>.Projection.Include("item").Include("status").Include("instock.qty");
var result = collection.Find<BsonDocument>(filter).Project(projection).ToList();
projection := bson.D{
{"item", 1},
{"status", 1},
{"instock.qty", 1},
}
cursor, err := coll.Find(
context.TODO(),
bson.D{
{"status", "A"},
},
options.Find().SetProjection(projection),
)
findPublisher = collection.find(eq("status", "A")).projection(include("item", "status", "instock.qty"));

To specify a projection document, chain the com.mongodb.client.FindIterable.projection method to the find method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

findIterable = collection.find(eq("status", "A")).projection(include("item", "status", "instock.qty"));
val findFlow = collection
.find(eq("status", "A")).projection(include("item", "status", "instock.qty"))
cursor = db.inventory.find({"status": "A"}, {"item": 1, "status": 1, "instock.qty": 1})
const cursor = db
.collection('inventory')
.find({
status: 'A'
})
.project({ item: 1, status: 1, 'instock.qty': 1 });
$cursor = $db->inventory->find(
['status' => 'A'],
['projection' => ['item' => 1, 'status' => 1, 'instock.qty' => 1]],
);
cursor = db.inventory.find({"status": "A"}, {"item": 1, "status": 1, "instock.qty": 1})
client[:inventory].find({ status: 'A' },
projection: {'item' => 1, 'status' => 1, 'instock.qty' => 1 })
findObservable = collection.find(equal("status", "A")).projection(include("item", "status", "instock.qty"))

For fields that contain arrays, MongoDB provides the following projection operators for manipulating arrays: $elemMatch, $slice, and $.

The following example uses the $slice projection operator to return the last element in the instock array:

db.inventory.find( { status: "A" }, { item: 1, status: 1, instock: { $slice: -1 } } )
  1. Copy the following expression into the Filter field:

    { status: "A" }
  2. Click Options to open the additional query options.

  3. Copy the following expression into the Project field:

    { item: 1, status: 1, instock: { $slice: -1 } }
  4. Click Find.

mongoc_collection_t *collection;
bson_t *filter;
bson_t *opts;
mongoc_cursor_t *cursor;
collection = mongoc_database_get_collection (db, "inventory");
filter = BCON_NEW ("status", BCON_UTF8 ("A"));
opts = BCON_NEW ("projection", "{", "item", BCON_INT64 (1),
"status", BCON_INT64 (1),
"instock", "{",
"$slice", BCON_INT64 (-1),
"}", "}");
cursor = mongoc_collection_find_with_opts (collection, filter, opts, NULL);
var filter = Builders<BsonDocument>.Filter.Eq("status", "A");
var projection = Builders<BsonDocument>.Projection.Include("item").Include("status").Slice("instock", -1);
var result = collection.Find<BsonDocument>(filter).Project(projection).ToList();
projection := bson.D{
{"item", 1},
{"status", 1},
{"instock", bson.D{
{"$slice", -1},
}},
}
cursor, err := coll.Find(
context.TODO(),
bson.D{
{"status", "A"},
},
options.Find().SetProjection(projection),
)
findPublisher = collection.find(eq("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)));

To specify a projection document, chain the com.mongodb.client.FindIterable.projection method to the find method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

findIterable = collection.find(eq("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)));

To specify a projection document, chain the FindFlow.projection() method to the find() method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

val findFlow = collection
.find(eq("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)))
cursor = db.inventory.find(
{"status": "A"}, {"item": 1, "status": 1, "instock": {"$slice": -1}}
)
const cursor = db
.collection('inventory')
.find({
status: 'A'
})
.project({ item: 1, status: 1, instock: { $slice: -1 } });
$cursor = $db->inventory->find(
['status' => 'A'],
['projection' => ['item' => 1, 'status' => 1, 'instock' => ['$slice' => -1]]],
);
cursor = db.inventory.find(
{"status": "A"}, {"item": 1, "status": 1, "instock": {"$slice": -1}}
)
client[:inventory].find({ status: 'A' },
projection: {'item' => 1,
'status' => 1,
'instock' => { '$slice' => -1 } })
findObservable = collection.find(equal("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)))

$elemMatch, $slice, and $ are the only operators that you can use to project specific elements to include in the returned array. For instance, you cannot project specific array elements using the array index; e.g. { "instock.0": 1 } projection does not project the array with the first element.

For fields that contain arrays, MongoDB provides the following projection operators for manipulating arrays: $elemMatch, $slice, and $.

The following example uses the $slice projection operator to return the last element in the instock array:

db.inventory.find( { status: "A" }, { item: 1, status: 1, instock: { $slice: -1 } } )
  1. Copy the following expression into the Filter field:

    { status: "A" }
  2. Click Options to open the additional query options.

  3. Copy the following expression into the Project field:

    { item: 1, status: 1, instock: { $slice: -1 } }
  4. Click Find.

mongoc_collection_t *collection;
bson_t *filter;
bson_t *opts;
mongoc_cursor_t *cursor;
collection = mongoc_database_get_collection (db, "inventory");
filter = BCON_NEW ("status", BCON_UTF8 ("A"));
opts = BCON_NEW ("projection", "{", "item", BCON_INT64 (1),
"status", BCON_INT64 (1),
"instock", "{",
"$slice", BCON_INT64 (-1),
"}", "}");
cursor = mongoc_collection_find_with_opts (collection, filter, opts, NULL);
var filter = Builders<BsonDocument>.Filter.Eq("status", "A");
var projection = Builders<BsonDocument>.Projection.Include("item").Include("status").Slice("instock", -1);
var result = collection.Find<BsonDocument>(filter).Project(projection).ToList();
projection := bson.D{
{"item", 1},
{"status", 1},
{"instock", bson.D{
{"$slice", -1},
}},
}
cursor, err := coll.Find(
context.TODO(),
bson.D{
{"status", "A"},
},
options.Find().SetProjection(projection),
)
findPublisher = collection.find(eq("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)));

To specify a projection document, chain the com.mongodb.client.FindIterable.projection method to the find method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

findIterable = collection.find(eq("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)));

To specify a projection document, chain the FindFlow.projection() method to the find() method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

val findFlow = collection
.find(eq("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)))
cursor = db.inventory.find(
{"status": "A"}, {"item": 1, "status": 1, "instock": {"$slice": -1}}
)
const cursor = db
.collection('inventory')
.find({
status: 'A'
})
.project({ item: 1, status: 1, instock: { $slice: -1 } });
$cursor = $db->inventory->find(
['status' => 'A'],
['projection' => ['item' => 1, 'status' => 1, 'instock' => ['$slice' => -1]]],
);
cursor = db.inventory.find(
{"status": "A"}, {"item": 1, "status": 1, "instock": {"$slice": -1}}
)
client[:inventory].find({ status: 'A' },
projection: {'item' => 1,
'status' => 1,
'instock' => { '$slice' => -1 } })
findObservable = collection.find(equal("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)))

For fields that contain arrays, MongoDB provides the following projection operators for manipulating arrays: $elemMatch, $slice, and $.

The following example uses the $slice projection operator to return the last element in the instock array:

db.inventory.find( { status: "A" }, { item: 1, status: 1, instock: { $slice: -1 } } )
  1. Copy the following expression into the Filter field:

    { status: "A" }
  2. Click Options to open the additional query options.

  3. Copy the following expression into the Project field:

    { item: 1, status: 1, instock: { $slice: -1 } }
  4. Click Find.

mongoc_collection_t *collection;
bson_t *filter;
bson_t *opts;
mongoc_cursor_t *cursor;
collection = mongoc_database_get_collection (db, "inventory");
filter = BCON_NEW ("status", BCON_UTF8 ("A"));
opts = BCON_NEW ("projection", "{", "item", BCON_INT64 (1),
"status", BCON_INT64 (1),
"instock", "{",
"$slice", BCON_INT64 (-1),
"}", "}");
cursor = mongoc_collection_find_with_opts (collection, filter, opts, NULL);
var filter = Builders<BsonDocument>.Filter.Eq("status", "A");
var projection = Builders<BsonDocument>.Projection.Include("item").Include("status").Slice("instock", -1);
var result = collection.Find<BsonDocument>(filter).Project(projection).ToList();
projection := bson.D{
{"item", 1},
{"status", 1},
{"instock", bson.D{
{"$slice", -1},
}},
}
cursor, err := coll.Find(
context.TODO(),
bson.D{
{"status", "A"},
},
options.Find().SetProjection(projection),
)
findPublisher = collection.find(eq("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)));

To specify a projection document, chain the com.mongodb.client.FindIterable.projection method to the find method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

findIterable = collection.find(eq("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)));

To specify a projection document, chain the FindFlow.projection() method to the find() method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

val findFlow = collection
.find(eq("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)))
cursor = db.inventory.find(
{"status": "A"}, {"item": 1, "status": 1, "instock": {"$slice": -1}}
)
const cursor = db
.collection('inventory')
.find({
status: 'A'
})
.project({ item: 1, status: 1, instock: { $slice: -1 } });
$cursor = $db->inventory->find(
['status' => 'A'],
['projection' => ['item' => 1, 'status' => 1, 'instock' => ['$slice' => -1]]],
);
cursor = db.inventory.find(
{"status": "A"}, {"item": 1, "status": 1, "instock": {"$slice": -1}}
)
client[:inventory].find({ status: 'A' },
projection: {'item' => 1,
'status' => 1,
'instock' => { '$slice' => -1 } })
findObservable = collection.find(equal("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)))

$elemMatch, $slice, and $ are the only operators that you can use to project specific elements to include in the returned array.

For example, the following operation will not project the array with the first element:

Builders<BsonDocument>.Projection.Include("instock.0")

For fields that contain arrays, MongoDB provides the following projection operators for manipulating arrays: $elemMatch, $slice, and $.

The following example uses the $slice projection operator to return the last element in the instock array:

db.inventory.find( { status: "A" }, { item: 1, status: 1, instock: { $slice: -1 } } )
  1. Copy the following expression into the Filter field:

    { status: "A" }
  2. Click Options to open the additional query options.

  3. Copy the following expression into the Project field:

    { item: 1, status: 1, instock: { $slice: -1 } }
  4. Click Find.

mongoc_collection_t *collection;
bson_t *filter;
bson_t *opts;
mongoc_cursor_t *cursor;
collection = mongoc_database_get_collection (db, "inventory");
filter = BCON_NEW ("status", BCON_UTF8 ("A"));
opts = BCON_NEW ("projection", "{", "item", BCON_INT64 (1),
"status", BCON_INT64 (1),
"instock", "{",
"$slice", BCON_INT64 (-1),
"}", "}");
cursor = mongoc_collection_find_with_opts (collection, filter, opts, NULL);
var filter = Builders<BsonDocument>.Filter.Eq("status", "A");
var projection = Builders<BsonDocument>.Projection.Include("item").Include("status").Slice("instock", -1);
var result = collection.Find<BsonDocument>(filter).Project(projection).ToList();
projection := bson.D{
{"item", 1},
{"status", 1},
{"instock", bson.D{
{"$slice", -1},
}},
}
cursor, err := coll.Find(
context.TODO(),
bson.D{
{"status", "A"},
},
options.Find().SetProjection(projection),
)
findPublisher = collection.find(eq("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)));

To specify a projection document, chain the com.mongodb.client.FindIterable.projection method to the find method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

findIterable = collection.find(eq("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)));

To specify a projection document, chain the FindFlow.projection() method to the find() method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

val findFlow = collection
.find(eq("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)))
cursor = db.inventory.find(
{"status": "A"}, {"item": 1, "status": 1, "instock": {"$slice": -1}}
)
const cursor = db
.collection('inventory')
.find({
status: 'A'
})
.project({ item: 1, status: 1, instock: { $slice: -1 } });
$cursor = $db->inventory->find(
['status' => 'A'],
['projection' => ['item' => 1, 'status' => 1, 'instock' => ['$slice' => -1]]],
);
cursor = db.inventory.find(
{"status": "A"}, {"item": 1, "status": 1, "instock": {"$slice": -1}}
)
client[:inventory].find({ status: 'A' },
projection: {'item' => 1,
'status' => 1,
'instock' => { '$slice' => -1 } })
findObservable = collection.find(equal("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)))

$elemMatch, $slice, and $ are the only operators that you can use to project specific elements to include in the returned array. For instance, you cannot project specific array elements using the array index; e.g. include("instock.0") projection does not project the array with the first element.

For fields that contain arrays, MongoDB provides the following projection operators for manipulating arrays: $elemMatch, $slice, and $.

The following example uses the $slice projection operator to return the last element in the instock array:

db.inventory.find( { status: "A" }, { item: 1, status: 1, instock: { $slice: -1 } } )
  1. Copy the following expression into the Filter field:

    { status: "A" }
  2. Click Options to open the additional query options.

  3. Copy the following expression into the Project field:

    { item: 1, status: 1, instock: { $slice: -1 } }
  4. Click Find.

mongoc_collection_t *collection;
bson_t *filter;
bson_t *opts;
mongoc_cursor_t *cursor;
collection = mongoc_database_get_collection (db, "inventory");
filter = BCON_NEW ("status", BCON_UTF8 ("A"));
opts = BCON_NEW ("projection", "{", "item", BCON_INT64 (1),
"status", BCON_INT64 (1),
"instock", "{",
"$slice", BCON_INT64 (-1),
"}", "}");
cursor = mongoc_collection_find_with_opts (collection, filter, opts, NULL);
var filter = Builders<BsonDocument>.Filter.Eq("status", "A");
var projection = Builders<BsonDocument>.Projection.Include("item").Include("status").Slice("instock", -1);
var result = collection.Find<BsonDocument>(filter).Project(projection).ToList();
projection := bson.D{
{"item", 1},
{"status", 1},
{"instock", bson.D{
{"$slice", -1},
}},
}
cursor, err := coll.Find(
context.TODO(),
bson.D{
{"status", "A"},
},
options.Find().SetProjection(projection),
)
findPublisher = collection.find(eq("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)));

To specify a projection document, chain the com.mongodb.client.FindIterable.projection method to the find method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

findIterable = collection.find(eq("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)));

To specify a projection document, chain the FindFlow.projection() method to the find() method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

val findFlow = collection
.find(eq("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)))
cursor = db.inventory.find(
{"status": "A"}, {"item": 1, "status": 1, "instock": {"$slice": -1}}
)
const cursor = db
.collection('inventory')
.find({
status: 'A'
})
.project({ item: 1, status: 1, instock: { $slice: -1 } });
$cursor = $db->inventory->find(
['status' => 'A'],
['projection' => ['item' => 1, 'status' => 1, 'instock' => ['$slice' => -1]]],
);
cursor = db.inventory.find(
{"status": "A"}, {"item": 1, "status": 1, "instock": {"$slice": -1}}
)
client[:inventory].find({ status: 'A' },
projection: {'item' => 1,
'status' => 1,
'instock' => { '$slice' => -1 } })
findObservable = collection.find(equal("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)))

$elemMatch, $slice, and $ are the only operators that you can use to project specific elements to include in the returned array. For instance, you cannot project specific array elements using the array index; e.g. include("instock.0") projection does not project the array with the first element.

For fields that contain arrays, MongoDB provides the following projection operators for manipulating arrays: $elemMatch, $slice, and $.

The following example uses the $slice projection operator to return the last element in the instock array:

db.inventory.find( { status: "A" }, { item: 1, status: 1, instock: { $slice: -1 } } )
  1. Copy the following expression into the Filter field:

    { status: "A" }
  2. Click Options to open the additional query options.

  3. Copy the following expression into the Project field:

    { item: 1, status: 1, instock: { $slice: -1 } }
  4. Click Find.

mongoc_collection_t *collection;
bson_t *filter;
bson_t *opts;
mongoc_cursor_t *cursor;
collection = mongoc_database_get_collection (db, "inventory");
filter = BCON_NEW ("status", BCON_UTF8 ("A"));
opts = BCON_NEW ("projection", "{", "item", BCON_INT64 (1),
"status", BCON_INT64 (1),
"instock", "{",
"$slice", BCON_INT64 (-1),
"}", "}");
cursor = mongoc_collection_find_with_opts (collection, filter, opts, NULL);
var filter = Builders<BsonDocument>.Filter.Eq("status", "A");
var projection = Builders<BsonDocument>.Projection.Include("item").Include("status").Slice("instock", -1);
var result = collection.Find<BsonDocument>(filter).Project(projection).ToList();
projection := bson.D{
{"item", 1},
{"status", 1},
{"instock", bson.D{
{"$slice", -1},
}},
}
cursor, err := coll.Find(
context.TODO(),
bson.D{
{"status", "A"},
},
options.Find().SetProjection(projection),
)
findPublisher = collection.find(eq("status", "A"))
.projection(fields(include("item", "status"), slice("instock", -1)));

To specify a projection document, chain the com.mongodb.client.FindIterable.projection method to the find method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

"status""A""item""status""instock"1
findIterable = collection.find(eq(, ))
.projection(fields(include(, ), slice(, -)));

To specify a projection document, chain the FindFlow.projection() method to the find() method. The example uses the com.mongodb.client.model.Projections class to create the projection documents.

findFlow = collectionval .find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)))"item""status""instock"1
cursor = db.inventory.find( {: }, {: , : , : {: -}}"status""A""item"1"status"1"instock""$slice"1)
cursor = dbconst .()collection'inventory' .({find : status'A' }) .({ : , : , : { : - } });projectitem1status1instock$slice1
= ->inventory->($cursor$dbfind [ => ],'status''A' [ => [ => , => , => [ => -]]],'projection''item'1'status'1'instock''$slice'1);
cursor = db.inventory.find( {: }, {: , : , : {: -}}"status""A""item"1"status"1"instock""$slice"1)
client[].find({ },:inventorystatus:'A' { => ,projection:'item'1 => ,'status'1 => { => - } })'instock''$slice'1
findObservable = collection.find(equal(, ))"status""A" .projection(fields(include(, ), slice(, )))"item""status""instock"-1

, , and are the operators that you can use to project specific elements to include in the returned array. For instance, you project specific array elements using the array index; e.g. projection does project the array with the first element.

$elemMatch$slice$onlycannotinclude("instock.0")not

For fields that contain arrays, MongoDB provides the following projection operators for manipulating arrays: , , and

$elemMatch$slice.$

The following example uses the projection operator to return the last element in the array:

$sliceinstock
MongoDB Shell
Compass
C
C#
Go
Java (Async)
Java (Sync)
Kotlin (Coroutine)
Motor
Node.js
PHP
Python
Ruby
Scala
db..( { : }, { : , : , : { : - } } )inventoryfindstatus"A"item1status1instock$slice1
  1. Copy the following expression into the field:

    Filter
    { : }status"A"
  2. Click to open the additional query options.

    Options
  3. Copy the following expression into the field:

    Project
    { : , : , : { : - } }item1status1instock$slice1
  4. Click .

    Find
    *collection;mongoc_collection_t *filter;bson_t *opts;bson_t *cursor;mongoc_cursor_t
    collection = mongoc_database_get_collection (db, );"inventory"filter = BCON_NEW (, BCON_UTF8 ());"status""A"opts = BCON_NEW (, , , BCON_INT64 (),"projection""{""item"1, BCON_INT64 (),"status"1, ,"instock""{", BCON_INT64 (),"$slice"-1, );"}""}"cursor = mongoc_collection_find_with_opts (collection, filter, opts, );NULL
    filter = Builders<BsonDocument>.Filter.Eq(, );var"status""A" projection = Builders<BsonDocument>.Projection.Include().Include().Slice(, );var"item""status""instock"-1 result = collection.Find<BsonDocument>(filter).Project(projection).ToList();var
    projection := bson.D{ {, },"item"1 {, },"status"1 {, bson.D{"instock" {, },"$slice"-1 }},}
    cursor, err := coll.Find( context.TODO(), bson.D{ {, },"status""A" }, options.Find().SetProjection(projection),)
    findPublisher = collection.find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)));"item""status""instock"1

    To specify a projection document, chain the method to the method. The example uses the class to create the projection documents.

    com.mongodb.client.FindIterable.projectionfindcom.mongodb.client.model.Projections
    findIterable = collection.find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)));"item""status""instock"1

    To specify a projection document, chain the method to the method. The example uses the class to create the projection documents.

    FindFlow.projection()find()com.mongodb.client.model.Projections
    findFlow = collectionval .find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)))"item""status""instock"1
    cursor = db.inventory.find( {: }, {: , : , : {: -}}"status""A""item"1"status"1"instock""$slice"1)
    cursor = dbconst .()collection'inventory' .({find : status'A' }) .({ : , : , : { : - } });projectitem1status1instock$slice1
    = ->inventory->($cursor$dbfind [ => ],'status''A' [ => [ => , => , => [ => -]]],'projection''item'1'status'1'instock''$slice'1);
    cursor = db.inventory.find( {: }, {: , : , : {: -}}"status""A""item"1"status"1"instock""$slice"1)
    client[].find({ },:inventorystatus:'A' { => ,projection:'item'1 => ,'status'1 => { => - } })'instock''$slice'1
    findObservable = collection.find(equal(, ))"status""A" .projection(fields(include(, ), slice(, )))"item""status""instock"-1

    , , and are the operators that you can use to project specific elements to include in the returned array. For instance, you project specific array elements using the array index; e.g. projection does project the array with the first element.

    $elemMatch$slice$onlycannotinclude("instock.0")not

    For fields that contain arrays, MongoDB provides the following projection operators for manipulating arrays: , , and

    $elemMatch$slice.$

    The following example uses the projection operator to return the last element in the array:

    $sliceinstock
    MongoDB Shell
    Compass
    C
    C#
    Go
    Java (Async)
    Java (Sync)
    Kotlin (Coroutine)
    Motor
    Node.js
    PHP
    Python
    Ruby
    Scala
    db..( { : }, { : , : , : { : - } } )inventoryfindstatus"A"item1status1instock$slice1
    1. Copy the following expression into the field:

      Filter
      { : }status"A"
    2. Click to open the additional query options.

      Options
    3. Copy the following expression into the field:

      Project
      { : , : , : { : - } }item1status1instock$slice1
    4. Click .

      Find
      *collection;mongoc_collection_t *filter;bson_t *opts;bson_t *cursor;mongoc_cursor_t
      collection = mongoc_database_get_collection (db, );"inventory"filter = BCON_NEW (, BCON_UTF8 ());"status""A"opts = BCON_NEW (, , , BCON_INT64 (),"projection""{""item"1, BCON_INT64 (),"status"1, ,"instock""{", BCON_INT64 (),"$slice"-1, );"}""}"cursor = mongoc_collection_find_with_opts (collection, filter, opts, );NULL
      filter = Builders<BsonDocument>.Filter.Eq(, );var"status""A" projection = Builders<BsonDocument>.Projection.Include().Include().Slice(, );var"item""status""instock"-1 result = collection.Find<BsonDocument>(filter).Project(projection).ToList();var
      projection := bson.D{ {, },"item"1 {, },"status"1 {, bson.D{"instock" {, },"$slice"-1 }},}
      cursor, err := coll.Find( context.TODO(), bson.D{ {, },"status""A" }, options.Find().SetProjection(projection),)
      findPublisher = collection.find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)));"item""status""instock"1

      To specify a projection document, chain the method to the method. The example uses the class to create the projection documents.

      com.mongodb.client.FindIterable.projectionfindcom.mongodb.client.model.Projections
      findIterable = collection.find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)));"item""status""instock"1

      To specify a projection document, chain the method to the method. The example uses the class to create the projection documents.

      FindFlow.projection()find()com.mongodb.client.model.Projections
      findFlow = collectionval .find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)))"item""status""instock"1
      cursor = db.inventory.find( {: }, {: , : , : {: -}}"status""A""item"1"status"1"instock""$slice"1)
      cursor = dbconst .()collection'inventory' .({find : status'A' }) .({ : , : , : { : - } });projectitem1status1instock$slice1
      = ->inventory->($cursor$dbfind [ => ],'status''A' [ => [ => , => , => [ => -]]],'projection''item'1'status'1'instock''$slice'1);
      cursor = db.inventory.find( {: }, {: , : , : {: -}}"status""A""item"1"status"1"instock""$slice"1)
      client[].find({ },:inventorystatus:'A' { => ,projection:'item'1 => ,'status'1 => { => - } })'instock''$slice'1
      findObservable = collection.find(equal(, ))"status""A" .projection(fields(include(, ), slice(, )))"item""status""instock"-1

      , , and are the operators that you can use to project specific elements to include in the returned array. For instance, you project specific array elements using the array index; e.g. projection does project the array with the first element.

      $elemMatch$slice$onlycannot{ "instock.0": 1 }not

      For fields that contain arrays, MongoDB provides the following projection operators for manipulating arrays: , , and

      $elemMatch$slice.$

      The following example uses the projection operator to return the last element in the array:

      $sliceinstock
      MongoDB Shell
      Compass
      C
      C#
      Go
      Java (Async)
      Java (Sync)
      Kotlin (Coroutine)
      Motor
      Node.js
      PHP
      Python
      Ruby
      Scala
      db..( { : }, { : , : , : { : - } } )inventoryfindstatus"A"item1status1instock$slice1
      1. Copy the following expression into the field:

        Filter
        { : }status"A"
      2. Click to open the additional query options.

        Options
      3. Copy the following expression into the field:

        Project
        { : , : , : { : - } }item1status1instock$slice1
      4. Click .

        Find
        *collection;mongoc_collection_t *filter;bson_t *opts;bson_t *cursor;mongoc_cursor_t
        collection = mongoc_database_get_collection (db, );"inventory"filter = BCON_NEW (, BCON_UTF8 ());"status""A"opts = BCON_NEW (, , , BCON_INT64 (),"projection""{""item"1, BCON_INT64 (),"status"1, ,"instock""{", BCON_INT64 (),"$slice"-1, );"}""}"cursor = mongoc_collection_find_with_opts (collection, filter, opts, );NULL
        filter = Builders<BsonDocument>.Filter.Eq(, );var"status""A" projection = Builders<BsonDocument>.Projection.Include().Include().Slice(, );var"item""status""instock"-1 result = collection.Find<BsonDocument>(filter).Project(projection).ToList();var
        projection := bson.D{ {, },"item"1 {, },"status"1 {, bson.D{"instock" {, },"$slice"-1 }},}
        cursor, err := coll.Find( context.TODO(), bson.D{ {, },"status""A" }, options.Find().SetProjection(projection),)
        findPublisher = collection.find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)));"item""status""instock"1

        To specify a projection document, chain the method to the method. The example uses the class to create the projection documents.

        com.mongodb.client.FindIterable.projectionfindcom.mongodb.client.model.Projections
        findIterable = collection.find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)));"item""status""instock"1

        To specify a projection document, chain the method to the method. The example uses the class to create the projection documents.

        FindFlow.projection()find()com.mongodb.client.model.Projections
        findFlow = collectionval .find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)))"item""status""instock"1
        cursor = db.inventory.find( {: }, {: , : , : {: -}}"status""A""item"1"status"1"instock""$slice"1)
        cursor = dbconst .()collection'inventory' .({find : status'A' }) .({ : , : , : { : - } });projectitem1status1instock$slice1
        = ->inventory->($cursor$dbfind [ => ],'status''A' [ => [ => , => , => [ => -]]],'projection''item'1'status'1'instock''$slice'1);
        cursor = db.inventory.find( {: }, {: , : , : {: -}}"status""A""item"1"status"1"instock""$slice"1)
        client[].find({ },:inventorystatus:'A' { => ,projection:'item'1 => ,'status'1 => { => - } })'instock''$slice'1
        findObservable = collection.find(equal(, ))"status""A" .projection(fields(include(, ), slice(, )))"item""status""instock"-1

        , , and are the operators that you can use to project specific elements to include in the returned array. For instance, you project specific array elements using the array index; e.g. projection does project the array with the first element.

        $elemMatch$slice$onlycannot[ "instock.0" => 1 ]not

        For fields that contain arrays, MongoDB provides the following projection operators for manipulating arrays: , , and

        $elemMatch$slice.$

        The following example uses the projection operator to return the last element in the array:

        $sliceinstock
        MongoDB Shell
        Compass
        C
        C#
        Go
        Java (Async)
        Java (Sync)
        Kotlin (Coroutine)
        Motor
        Node.js
        PHP
        Python
        Ruby
        Scala
        db..( { : }, { : , : , : { : - } } )inventoryfindstatus"A"item1status1instock$slice1
        1. Copy the following expression into the field:

          Filter
          { : }status"A"
        2. Click to open the additional query options.

          Options
        3. Copy the following expression into the field:

          Project
          { : , : , : { : - } }item1status1instock$slice1
        4. Click .

          Find
          *collection;mongoc_collection_t *filter;bson_t *opts;bson_t *cursor;mongoc_cursor_t
          collection = mongoc_database_get_collection (db, );"inventory"filter = BCON_NEW (, BCON_UTF8 ());"status""A"opts = BCON_NEW (, , , BCON_INT64 (),"projection""{""item"1, BCON_INT64 (),"status"1, ,"instock""{", BCON_INT64 (),"$slice"-1, );"}""}"cursor = mongoc_collection_find_with_opts (collection, filter, opts, );NULL
          filter = Builders<BsonDocument>.Filter.Eq(, );var"status""A" projection = Builders<BsonDocument>.Projection.Include().Include().Slice(, );var"item""status""instock"-1 result = collection.Find<BsonDocument>(filter).Project(projection).ToList();var
          projection := bson.D{ {, },"item"1 {, },"status"1 {, bson.D{"instock" {, },"$slice"-1 }},}
          cursor, err := coll.Find( context.TODO(), bson.D{ {, },"status""A" }, options.Find().SetProjection(projection),)
          findPublisher = collection.find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)));"item""status""instock"1

          To specify a projection document, chain the method to the method. The example uses the class to create the projection documents.

          com.mongodb.client.FindIterable.projectionfindcom.mongodb.client.model.Projections
          findIterable = collection.find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)));"item""status""instock"1

          To specify a projection document, chain the method to the method. The example uses the class to create the projection documents.

          FindFlow.projection()find()com.mongodb.client.model.Projections
          findFlow = collectionval .find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)))"item""status""instock"1
          cursor = db.inventory.find( {: }, {: , : , : {: -}}"status""A""item"1"status"1"instock""$slice"1)
          cursor = dbconst .()collection'inventory' .({find : status'A' }) .({ : , : , : { : - } });projectitem1status1instock$slice1
          = ->inventory->($cursor$dbfind [ => ],'status''A' [ => [ => , => , => [ => -]]],'projection''item'1'status'1'instock''$slice'1);
          cursor = db.inventory.find( {: }, {: , : , : {: -}}"status""A""item"1"status"1"instock""$slice"1)
          client[].find({ },:inventorystatus:'A' { => ,projection:'item'1 => ,'status'1 => { => - } })'instock''$slice'1
          findObservable = collection.find(equal(, ))"status""A" .projection(fields(include(, ), slice(, )))"item""status""instock"-1

          , , and are the operators that you can use to project specific elements to include in the returned array. For instance, you project specific array elements using the array index; e.g. projection does project the array with the first element.

          $elemMatch$slice$onlycannot{ "instock.0": 1 }not

          For fields that contain arrays, MongoDB provides the following projection operators for manipulating arrays: , , and

          $elemMatch$slice.$

          The following example uses the projection operator to return the last element in the array:

          $sliceinstock
          MongoDB Shell
          Compass
          C
          C#
          Go
          Java (Async)
          Java (Sync)
          Kotlin (Coroutine)
          Motor
          Node.js
          PHP
          Python
          Ruby
          Scala
          db..( { : }, { : , : , : { : - } } )inventoryfindstatus"A"item1status1instock$slice1
          1. Copy the following expression into the field:

            Filter
            { : }status"A"
          2. Click to open the additional query options.

            Options
          3. Copy the following expression into the field:

            Project
            { : , : , : { : - } }item1status1instock$slice1
          4. Click .

            Find
            *collection;mongoc_collection_t *filter;bson_t *opts;bson_t *cursor;mongoc_cursor_t
            collection = mongoc_database_get_collection (db, );"inventory"filter = BCON_NEW (, BCON_UTF8 ());"status""A"opts = BCON_NEW (, , , BCON_INT64 (),"projection""{""item"1, BCON_INT64 (),"status"1, ,"instock""{", BCON_INT64 (),"$slice"-1, );"}""}"cursor = mongoc_collection_find_with_opts (collection, filter, opts, );NULL
            filter = Builders<BsonDocument>.Filter.Eq(, );var"status""A" projection = Builders<BsonDocument>.Projection.Include().Include().Slice(, );var"item""status""instock"-1 result = collection.Find<BsonDocument>(filter).Project(projection).ToList();var
            projection := bson.D{ {, },"item"1 {, },"status"1 {, bson.D{"instock" {, },"$slice"-1 }},}
            cursor, err := coll.Find( context.TODO(), bson.D{ {, },"status""A" }, options.Find().SetProjection(projection),)
            findPublisher = collection.find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)));"item""status""instock"1

            To specify a projection document, chain the method to the method. The example uses the class to create the projection documents.

            com.mongodb.client.FindIterable.projectionfindcom.mongodb.client.model.Projections
            findIterable = collection.find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)));"item""status""instock"1

            To specify a projection document, chain the method to the method. The example uses the class to create the projection documents.

            FindFlow.projection()find()com.mongodb.client.model.Projections
            findFlow = collectionval .find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)))"item""status""instock"1
            cursor = db.inventory.find( {: }, {: , : , : {: -}}"status""A""item"1"status"1"instock""$slice"1)
            cursor = dbconst .()collection'inventory' .({find : status'A' }) .({ : , : , : { : - } });projectitem1status1instock$slice1
            = ->inventory->($cursor$dbfind [ => ],'status''A' [ => [ => , => , => [ => -]]],'projection''item'1'status'1'instock''$slice'1);
            cursor = db.inventory.find( {: }, {: , : , : {: -}}"status""A""item"1"status"1"instock""$slice"1)
            client[].find({ },:inventorystatus:'A' { => ,projection:'item'1 => ,'status'1 => { => - } })'instock''$slice'1
            findObservable = collection.find(equal(, ))"status""A" .projection(fields(include(, ), slice(, )))"item""status""instock"-1

            , , and are the operators that you can use to project specific elements to include in the returned array. For instance, you project specific array elements using the array index; e.g. projection does project the array with the first element.

            $elemMatch$slice$onlycannot{ "instock.0" => 1 }not

            For fields that contain arrays, MongoDB provides the following projection operators for manipulating arrays: , , and

            $elemMatch$slice.$

            The following example uses the projection operator to return the last element in the array:

            $sliceinstock
            MongoDB Shell
            Compass
            C
            C#
            Go
            Java (Async)
            Java (Sync)
            Kotlin (Coroutine)
            Motor
            Node.js
            PHP
            Python
            Ruby
            Scala
            db..( { : }, { : , : , : { : - } } )inventoryfindstatus"A"item1status1instock$slice1
            1. Copy the following expression into the field:

              Filter
              { : }status"A"
            2. Click to open the additional query options.

              Options
            3. Copy the following expression into the field:

              Project
              { : , : , : { : - } }item1status1instock$slice1
            4. Click .

              Find
              *collection;mongoc_collection_t *filter;bson_t *opts;bson_t *cursor;mongoc_cursor_t
              collection = mongoc_database_get_collection (db, );"inventory"filter = BCON_NEW (, BCON_UTF8 ());"status""A"opts = BCON_NEW (, , , BCON_INT64 (),"projection""{""item"1, BCON_INT64 (),"status"1, ,"instock""{", BCON_INT64 (),"$slice"-1, );"}""}"cursor = mongoc_collection_find_with_opts (collection, filter, opts, );NULL
              filter = Builders<BsonDocument>.Filter.Eq(, );var"status""A" projection = Builders<BsonDocument>.Projection.Include().Include().Slice(, );var"item""status""instock"-1 result = collection.Find<BsonDocument>(filter).Project(projection).ToList();var
              projection := bson.D{ {, },"item"1 {, },"status"1 {, bson.D{"instock" {, },"$slice"-1 }},}
              cursor, err := coll.Find( context.TODO(), bson.D{ {, },"status""A" }, options.Find().SetProjection(projection),)
              findPublisher = collection.find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)));"item""status""instock"1

              To specify a projection document, chain the method to the method. The example uses the class to create the projection documents.

              com.mongodb.client.FindIterable.projectionfindcom.mongodb.client.model.Projections
              findIterable = collection.find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)));"item""status""instock"1

              To specify a projection document, chain the method to the method. The example uses the class to create the projection documents.

              FindFlow.projection()find()com.mongodb.client.model.Projections
              findFlow = collectionval .find(eq(, ))"status""A" .projection(fields(include(, ), slice(, -)))"item""status""instock"1
              cursor = db.inventory.find( {: }, {: , : , : {: -}}"status""A""item"1"status"1"instock""$slice"1)
              cursor = dbconst .()collection'inventory' .({find : status'A' }) .({ : , : , : { : - } });projectitem1status1instock$slice1
              = ->inventory->($cursor$dbfind [ => ],'status''A' [ => [ => , => , => [ => -]]],'projection''item'1'status'1'instock''$slice'1);
              cursor = db.inventory.find( {: }, {: , : , : {: -}}"status""A""item"1"status"1"instock""$slice"1)
              client[].find({ },:inventorystatus:'A' { => ,projection:'item'1 => ,'status'1 => { => - } })'instock''$slice'1
              findObservable = collection.find(equal(, ))"status""A" .projection(fields(include(, ), slice(, )))"item""status""instock"-1

              , , and are the operators that you can use to project specific elements to include in the returned array. For instance, you project specific array elements using the array index; e.g. projection does project the array with the first element.

              $elemMatch$slice$onlycannotinclude("instock.0")not

              You can specify aggregation expressions in a query projection. Aggregation expressions let you project new fields and modify the values of existing fields.

              For example, the following operation uses aggregation expressions to override the value of the status field, and project new fields area and reportNumber.

              Note

              The following example uses MongoDB Shell syntax. For driver examples of projection with aggregation, see your driver documentation.

              db.inventory.find(
              { },
              {
              _id: 0,
              item: 1,
              status: {
              $switch: {
              branches: [
              {
              case: { $eq: [ "$status", "A" ] },
              then: "Available"
              },
              {
              case: { $eq: [ "$status", "D" ] },
              then: "Discontinued"
              },
              ],
              default: "No status found"
              }
              },
              area: {
              $concat: [
              { $toString: { $multiply: [ "$size.h", "$size.w" ] } },
              " ",
              "$size.uom"
              ]
              },
              reportNumber: { $literal: 1 }
              }
              )
              [
              {
              item: 'journal',
              status: 'Available',
              area: '294 cm',
              reportNumber: 1
              },
              {
              item: 'planner',
              status: 'Discontinued',
              area: '685.5 cm',
              reportNumber: 1
              },
              {
              item: 'notebook',
              status: 'Available',
              area: '93.5 in',
              reportNumber: 1
              },
              {
              item: 'paper',
              status: 'Discontinued',
              area: '93.5 in',
              reportNumber: 1
              },
              {
              item: 'postcard',
              status: 'Available',
              area: '152.5 cm',
              reportNumber: 1
              }
              ]

              The example in this section uses the sample movies dataset. To learn how to load the sample dataset into your MongoDB Atlas deployment, see Load Sample Data.

              To project fields to return from a query in MongoDB Atlas, follow these steps:

              1

              Warning

              Navigation Improvements In Progress

              We're currently rolling out a new and improved navigation experience. If the following steps don't match your view in the Atlas UI, see the preview Atlas documentation.

              1. If it's not already displayed, select the organization that contains your desired project from the Organizations menu in the navigation bar.

              2. If it's not already displayed, select your project from the Projects menu in the navigation bar.

              3. If it's not already displayed, click Clusters in the sidebar.

                The Clusters page displays.

              2
              1. For the cluster that contains the sample data, click Browse Collections.

              2. In the left navigation pane, select the sample_mflix database.

              3. Select the movies collection.

              3
              1. Click More Options on the right side of the Filter field.

              2. Specify the query filter.

                Specify the query filter document in the Filter field. A query filter document uses query operators to specify search conditions.

                Copy the following query filter document into the Filter search bar:

                { year: 1924 }
              4

              Specify the field(s) to return in the query results.

              Copy the following project document into the Project bar:

              { title: 1, plot: 1 }
              5

              This query filter returns the following fields for all documents in the sample_mflix.movies collection where the year field matches 1924:

              • _id

              • title

              • plot

              MongoDB Atlas returns the _id field by default. To omit the _id field, copy the following project document into the Project bar and click Apply:

              { title: 1, plot: 1, _id: 0 }

              MongoDB enforces additional restrictions with regards to projections. See Projection Restrictions for details.

              Back

              Arrays of Embedded Documents

              Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

              Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant