en-US/Ldbc.dll-Help.xml
<?xml version="1.0" encoding="utf-8"?>
<helpItems xmlns="http://msh" schema="maml"> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10"> <command:details> <command:name>Get-LiteData</command:name> <maml:description> <maml:para>Gets data from the collection.</maml:para> </maml:description> <command:verb>Get</command:verb> <command:noun>LiteData</command:noun> </command:details> <maml:description> <maml:para>The cmdlets gets data specified by the parameters from the collection.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-LiteData</maml:name> <command:parameter required="true" position="0" > <maml:name>Collection</maml:name> <command:parameterValue required="true">ILiteCollection`1</command:parameterValue> </command:parameter> <command:parameter required="false" position="1" > <maml:name>Where</maml:name> <command:parameterValue required="true">Object</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>As</maml:name> <command:parameterValue required="true">Object</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>First</maml:name> <command:parameterValue required="true">Int32</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Include</maml:name> <command:parameterValue required="true">String[]</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Last</maml:name> <command:parameterValue required="true">Int32</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Order</maml:name> <command:parameterValue required="true">Int32</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>OrderBy</maml:name> <command:parameterValue required="true">Object</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Select</maml:name> <command:parameterValue required="true">Object</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Skip</maml:name> <command:parameterValue required="true">Int32</command:parameterValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-LiteData</maml:name> <command:parameter required="true" position="0" > <maml:name>Collection</maml:name> <command:parameterValue required="true">ILiteCollection`1</command:parameterValue> </command:parameter> <command:parameter required="true" position="named" > <maml:name>ById</maml:name> <command:parameterValue required="true">Object</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>As</maml:name> <command:parameterValue required="true">Object</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Include</maml:name> <command:parameterValue required="true">String[]</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Select</maml:name> <command:parameterValue required="true">Object</command:parameterValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Get-LiteData</maml:name> <command:parameter required="true" position="0" > <maml:name>Collection</maml:name> <command:parameterValue required="true">ILiteCollection`1</command:parameterValue> </command:parameter> <command:parameter required="false" position="1" > <maml:name>Where</maml:name> <command:parameterValue required="true">Object</command:parameterValue> </command:parameter> <command:parameter required="true" position="named" > <maml:name>Count</maml:name> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" position="0" > <maml:name>Collection</maml:name> <maml:description> <maml:para>The collection instance. Use Get-LiteCollection in order to get it from a database.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="1" > <maml:name>Where</maml:name> <maml:description> <maml:para>Specifies the filter expression.</maml:para> <maml:para>An expression may be string, Ldbc.Expression, or LiteDB.BsonExpression. A string expression with parameters is followed by a dictionary with parameter values, e.g. '.. @age .. @income ..', @{age = 40; income = 80}</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>As</maml:name> <maml:description> <maml:para>Specifies the type of output objects. The argument is either a type or a type name or an alias ("PS", "Default"). "PS" is for PSCustomObject. "Default" is for Ldbc.Dictionary, the PowerShell friendly wrapper of BsonDocument.</maml:para> </maml:description> </command:parameter> <command:parameter required="true" position="named" > <maml:name>ById</maml:name> <maml:description> <maml:para>Tells to find a document by the specified id. The cmdlet outputs the found document, if any.</maml:para> </maml:description> </command:parameter> <command:parameter required="true" position="named" > <maml:name>Count</maml:name> <maml:description> <maml:para>Tells to count the documents and return the number.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>First</maml:name> <maml:description> <maml:para>Specifies the number of first documents to be returned. Non positive values are ignored.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Include</maml:name> <maml:description> <maml:para>Specifies expressions for loading references. Example: Given $order is the collection of [Order] with references to single [Customer] and multiple [Product] Get-LiteData $orders -As Order -Include '$.Customer', '$.Products[*]'</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Last</maml:name> <maml:description> <maml:para>Specifies the number of last documents to be returned. Non positive values are ignored.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Order</maml:name> <maml:description> <maml:para>Specifies the sort direction, 1: ascending, -1: descending.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>OrderBy</maml:name> <maml:description> <maml:para>Specifies the sort expression.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Select</maml:name> <maml:description> <maml:para>Specifies the projections applied to results. Note that _id is not automatically included. Examples: Selected field subset: {_id, name, age} Renamed or calculated: {Item: name, Total: $.count * $.price}</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Skip</maml:name> <maml:description> <maml:para>Specifies the number of documents to skip from the beginning or from the end if Last is specified. Non positive values are ignored.</maml:para> </maml:description> </command:parameter> </command:parameters> <command:returnValues> <command:returnValue> <dev:type> <maml:name>object, PSCustomObject, Ldbc.Dictionary</maml:name> </dev:type> <maml:description> <maml:para>Output types depend on the parameter As.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Use-LiteDatabase :memory: { $test = Get-LiteCollection test # add two documents $data = @{_id = 1; Name = 'John'}, @{_id = 2; Name = 'Mary'} $data | Add-LiteData $test # query data using filter with parameters Get-LiteData $test ('$.Name = @Name', @{Name = 'Mary'}) # query strongly typed data class MyData {[int]$Id; [string]$Name} Get-LiteData $test -As MyData }</dev:code> </command:example> </command:examples> <maml:relatedLinks> <maml:navigationLink> <maml:linkText>Add-LiteData</maml:linkText> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Set-LiteData</maml:linkText> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Remove-LiteData</maml:linkText> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Update-LiteData</maml:linkText> </maml:navigationLink> </maml:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10"> <command:details> <command:name>Add-LiteData</command:name> <maml:description> <maml:para>Inserts input documents to the collection.</maml:para> </maml:description> <command:verb>Add</command:verb> <command:noun>LiteData</command:noun> </command:details> <maml:description> <maml:para>The cmdlet inserts input documents to the collection. One document may be specified as the parameter. Use the pipeline for several input documents.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Add-LiteData</maml:name> <command:parameter required="true" position="0" > <maml:name>Collection</maml:name> <command:parameterValue required="true">ILiteCollection`1</command:parameterValue> </command:parameter> <command:parameter required="false" position="1" > <maml:name>InputObject</maml:name> <command:parameterValue required="true">Object</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Bulk</maml:name> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Result</maml:name> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" position="0" > <maml:name>Collection</maml:name> <maml:description> <maml:para>The collection instance. Use Get-LiteCollection in order to get it from a database.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" pipelineInput="true (ByValue)" position="1" > <maml:name>InputObject</maml:name> <maml:description> <maml:para>The input document.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Bulk</maml:name> <maml:description> <maml:para>Tells to collect documents from the pipeline and invoke bulk processing. This way works faster and provides an automatic transaction for the bulk. But it may require more memory and get less output and error information.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Result</maml:name> <maml:description> <maml:para>Tells to output document _id values or document count.</maml:para> </maml:description> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>PSCustomObject, IDictionary (Hashtable, Ldbc.Dictionary, LiteDB.BsonDocument, ...), ...</maml:name> </dev:type> <maml:description> <maml:para>Document-like objects.</maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>[object]</maml:name> </dev:type> <maml:description> <maml:para>None, _id values, document count.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Use-LiteDatabase :memory: { # get the collection, add some hashtable # (use [ordered] to keep the key order) $log = Get-LiteCollection log Add-LiteData $log ([ordered]@{ Message = 'Doing X...' Type = 'Info' Time = Get-Date }) # get data Get-LiteData $log }</dev:code> </command:example> <command:example> <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title> <dev:code>Use-LiteDatabase :memory: { # get processes as PSCustomObject with some properties $data = Get-Process | Select-Object @{n='_id'; e={$_.Id}}, ProcessName, WorkingSet64 # get the collection and add data $test = Get-LiteCollection test $data | Add-LiteData $test # get data Get-LiteData $test }</dev:code> </command:example> </command:examples> <maml:relatedLinks> <maml:navigationLink> <maml:linkText>Get-LiteData</maml:linkText> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Set-LiteData</maml:linkText> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Remove-LiteData</maml:linkText> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Update-LiteData</maml:linkText> </maml:navigationLink> </maml:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10"> <command:details> <command:name>Set-LiteData</command:name> <maml:description> <maml:para>Replaces old documents in the collection with new input documents.</maml:para> </maml:description> <command:verb>Set</command:verb> <command:noun>LiteData</command:noun> </command:details> <maml:description> <maml:para>The cmdlet replaces old documents in the collection with new input documents. One document may be specified as the parameter. Use the pipeline for several input documents. If the old document does not exist then the new is added if Add is set.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Set-LiteData</maml:name> <command:parameter required="true" position="0" > <maml:name>Collection</maml:name> <command:parameterValue required="true">ILiteCollection`1</command:parameterValue> </command:parameter> <command:parameter required="false" position="1" > <maml:name>InputObject</maml:name> <command:parameterValue required="true">Object</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Add</maml:name> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Bulk</maml:name> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Result</maml:name> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" position="0" > <maml:name>Collection</maml:name> <maml:description> <maml:para>The collection instance. Use Get-LiteCollection in order to get it from a database.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" pipelineInput="true (ByValue)" position="1" > <maml:name>InputObject</maml:name> <maml:description> <maml:para>The input document.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Add</maml:name> <maml:description> <maml:para>Tells to add the new document if the old does not exist.'</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Bulk</maml:name> <maml:description> <maml:para>Tells to collect documents from the pipeline and invoke bulk processing. This way works faster and provides an automatic transaction for the bulk. But it may require more memory and get less output and error information.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Result</maml:name> <maml:description> <maml:para>Tells to output the number of replaced documents (Add is not set) or the number of added documents (Add is set).</maml:para> </maml:description> </command:parameter> </command:parameters> <command:inputTypes> <command:inputType> <dev:type> <maml:name>PSCustomObject, IDictionary (Hashtable, Ldbc.Dictionary, LiteDB.BsonDocument, ...), ...</maml:name> </dev:type> <maml:description> <maml:para>Document-like objects.</maml:para> </maml:description> </command:inputType> </command:inputTypes> <command:returnValues> <command:returnValue> <dev:type> <maml:name>[int]</maml:name> </dev:type> <maml:description> <maml:para>The number of replaced documents (Add is not set) or the number of added documents (Add is set).</maml:para> </maml:description> </command:returnValue> </command:returnValues> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Use-LiteDatabase :memory: { $test = Get-LiteCollection test # 1 (added) Set-LiteData $test @{_id = 1; name = 'John'} -Add -Result Get-LiteData $test # 1 (updated) Set-LiteData $test @{_id = 1; name = 'Mary'} -Result Get-LiteData $test }</dev:code> </command:example> </command:examples> <maml:relatedLinks> <maml:navigationLink> <maml:linkText>Add-LiteData</maml:linkText> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Get-LiteData</maml:linkText> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Remove-LiteData</maml:linkText> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Update-LiteData</maml:linkText> </maml:navigationLink> </maml:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10"> <command:details> <command:name>Test-LiteData</command:name> <maml:description> <maml:para>Gets true if the query returns any document.</maml:para> </maml:description> <command:verb>Test</command:verb> <command:noun>LiteData</command:noun> </command:details> <maml:description> <maml:para>The cmdlet gets true if the specified query returns any document. This method does not deserialize any document.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Test-LiteData</maml:name> <command:parameter required="true" position="0" > <maml:name>Collection</maml:name> <command:parameterValue required="true">ILiteCollection`1</command:parameterValue> </command:parameter> <command:parameter required="false" position="1" > <maml:name>Where</maml:name> <command:parameterValue required="true">Object</command:parameterValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" position="0" > <maml:name>Collection</maml:name> <maml:description> <maml:para>The collection instance. Use Get-LiteCollection in order to get it from a database.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="1" > <maml:name>Where</maml:name> <maml:description> <maml:para>Specifies the filter expression.</maml:para> <maml:para>An expression may be string, Ldbc.Expression, or LiteDB.BsonExpression. A string expression with parameters is followed by a dictionary with parameter values, e.g. '.. @age .. @income ..', @{age = 40; income = 80}</maml:para> </maml:description> </command:parameter> </command:parameters> <command:returnValues> <command:returnValue> <dev:type> <maml:name>[bool</maml:name> </dev:type> <maml:description> <maml:para>True if the query returns any document.</maml:para> </maml:description> </command:returnValue> </command:returnValues> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10"> <command:details> <command:name>Remove-LiteData</command:name> <maml:description> <maml:para>Removes data from the collection.</maml:para> </maml:description> <command:verb>Remove</command:verb> <command:noun>LiteData</command:noun> </command:details> <maml:description> <maml:para>The cmdlet removes documents specified by the filter from the collection.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Remove-LiteData</maml:name> <command:parameter required="true" position="0" > <maml:name>Collection</maml:name> <command:parameterValue required="true">ILiteCollection`1</command:parameterValue> </command:parameter> <command:parameter required="true" position="1" > <maml:name>Where</maml:name> <command:parameterValue required="true">Object</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Result</maml:name> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Remove-LiteData</maml:name> <command:parameter required="true" position="0" > <maml:name>Collection</maml:name> <command:parameterValue required="true">ILiteCollection`1</command:parameterValue> </command:parameter> <command:parameter required="true" position="named" > <maml:name>ById</maml:name> <command:parameterValue required="true">Object</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Result</maml:name> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" position="0" > <maml:name>Collection</maml:name> <maml:description> <maml:para>The collection instance. Use Get-LiteCollection in order to get it from a database.</maml:para> </maml:description> </command:parameter> <command:parameter required="true" position="1" > <maml:name>Where</maml:name> <maml:description> <maml:para>Specifies the filter expression.</maml:para> <maml:para>An expression may be string, Ldbc.Expression, or LiteDB.BsonExpression. A string expression with parameters is followed by a dictionary with parameter values, e.g. '.. @age .. @income ..', @{age = 40; income = 80}</maml:para> </maml:description> </command:parameter> <command:parameter required="true" position="named" > <maml:name>ById</maml:name> <maml:description> <maml:para>Tells to remove one document by the specified id.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Result</maml:name> <maml:description> <maml:para>Tells to output the number of removed documents.</maml:para> </maml:description> </command:parameter> </command:parameters> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Use-LiteDatabase :memory: { $test = Get-LiteCollection test # add two documents $data = @{_id = 1; Name = 'John'}, @{_id = 2; Name = 'Mary'} $data | Add-LiteData $test # remove data using filter with parameters Remove-LiteData $test ('$.Name = @Name', @{Name = 'Mary'}) Get-LiteData $test }</dev:code> </command:example> </command:examples> <maml:relatedLinks> <maml:navigationLink> <maml:linkText>Add-LiteData</maml:linkText> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Get-LiteData</maml:linkText> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Set-LiteData</maml:linkText> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Update-LiteData</maml:linkText> </maml:navigationLink> </maml:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10"> <command:details> <command:name>Update-LiteData</command:name> <maml:description> <maml:para>Updates documents in the collection.</maml:para> </maml:description> <command:verb>Update</command:verb> <command:noun>LiteData</command:noun> </command:details> <maml:description> <maml:para>The cmdlet updates the documents specified by the filter expression using the update expression.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Update-LiteData</maml:name> <command:parameter required="true" position="0" > <maml:name>Collection</maml:name> <command:parameterValue required="true">ILiteCollection`1</command:parameterValue> </command:parameter> <command:parameter required="true" position="1" > <maml:name>Where</maml:name> <command:parameterValue required="true">Object</command:parameterValue> </command:parameter> <command:parameter required="true" position="2" > <maml:name>Update</maml:name> <command:parameterValue required="true">Object</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Result</maml:name> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" position="0" > <maml:name>Collection</maml:name> <maml:description> <maml:para>The collection instance. Use Get-LiteCollection in order to get it from a database.</maml:para> </maml:description> </command:parameter> <command:parameter required="true" position="1" > <maml:name>Where</maml:name> <maml:description> <maml:para>Specifies the filter expression.</maml:para> <maml:para>An expression may be string, Ldbc.Expression, or LiteDB.BsonExpression. A string expression with parameters is followed by a dictionary with parameter values, e.g. '.. @age .. @income ..', @{age = 40; income = 80}</maml:para> </maml:description> </command:parameter> <command:parameter required="true" position="2" > <maml:name>Update</maml:name> <maml:description> <maml:para>Specifies the transformation expression.</maml:para> <maml:para>An expression may be string, Ldbc.Expression, or LiteDB.BsonExpression. A string expression with parameters is followed by a dictionary with parameter values, e.g. '.. @age .. @income ..', @{age = 40; income = 80}</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Result</maml:name> <maml:description> <maml:para>Tells to output the number of updated documents.</maml:para> </maml:description> </command:parameter> </command:parameters> <command:returnValues> <command:returnValue> <dev:type> <maml:name>[int]</maml:name> </dev:type> <maml:description> <maml:para>The number of updated documents.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Use-LiteDatabase :memory: { $test = Get-LiteCollection test # add data Add-LiteData $test @{_id = 1; Name = 'John'} # change Name using filter and update with parameters $filter = '$.Name = @Name', @{Name = 'John'} $update = '{Name : @Name}', @{Name = 'Mary'} Update-LiteData $test $filter $update Get-LiteData $test }</dev:code> </command:example> </command:examples> <maml:relatedLinks> <maml:navigationLink> <maml:linkText>Add-LiteData</maml:linkText> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Get-LiteData</maml:linkText> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Set-LiteData</maml:linkText> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Remove-LiteData</maml:linkText> </maml:navigationLink> </maml:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10"> <command:details> <command:name>Invoke-LiteCommand</command:name> <maml:description> <maml:para>Invokes the LiteDB SQL command and gets results.</maml:para> </maml:description> <command:verb>Invoke</command:verb> <command:noun>LiteCommand</command:noun> </command:details> <maml:description> <maml:para>The cmdlet invokes the command with optional parameters (if the command supports parameters).</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Invoke-LiteCommand</maml:name> <command:parameter required="true" position="0" > <maml:name>Command</maml:name> <command:parameterValue required="true">String</command:parameterValue> </command:parameter> <command:parameter required="false" position="1" > <maml:name>Parameters</maml:name> <command:parameterValue required="true">Object</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>As</maml:name> <command:parameterValue required="true">Object</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Collection</maml:name> <command:parameterValue required="true">PSReference</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Database</maml:name> <command:parameterValue required="true">ILiteDatabase</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Quiet</maml:name> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" position="0" > <maml:name>Command</maml:name> <maml:description> <maml:para>Specifies the LiteDB SQL command.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="1" > <maml:name>Parameters</maml:name> <maml:description> <maml:para>Specifies the expression named parameters (IDictionary) or indexed arguments (IList or object).</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>As</maml:name> <maml:description> <maml:para>Specifies the type of output objects. The argument is either a type or a type name or an alias ("PS", "Default"). "PS" is for PSCustomObject. "Default" is for Ldbc.Dictionary, the PowerShell friendly wrapper of BsonDocument.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Collection</maml:name> <maml:description> <maml:para>The output [ref] of the command collection name.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Database</maml:name> <maml:description> <maml:para>The database instance. If it is omitted then the variable $Database is expected. Use New-LiteDatabase or Use-LiteDatabase in order to get the database instance.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Quiet</maml:name> <maml:description> <maml:para>Tells to omit the command output.</maml:para> </maml:description> </command:parameter> </command:parameters> <command:returnValues> <command:returnValue> <dev:type> <maml:name>object, PSCustomObject, Ldbc.Dictionary</maml:name> </dev:type> <maml:description> <maml:para>Output types depend on the parameter As.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <command:examples> <command:example> <maml:title>See README examples.</maml:title> </command:example> </command:examples> <maml:relatedLinks> <maml:navigationLink> <maml:linkText>LiteDB SQL</maml:linkText> <maml:uri>https://www.litedb.org/api/</maml:uri> </maml:navigationLink> </maml:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10"> <command:details> <command:name>New-LiteDatabase</command:name> <maml:description> <maml:para>Opens new or existing database and creates the database instance.</maml:para> </maml:description> <command:verb>New</command:verb> <command:noun>LiteDatabase</command:noun> </command:details> <maml:description> <maml:para>The cmdlet opens new or existing database and returns the database instance for further operations. The returned instance must be closed by Dispose(). Consider using Use-LiteDatabase instead for more automatic disposal.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>New-LiteDatabase</maml:name> <command:parameter required="false" position="0" > <maml:name>ConnectionString</maml:name> <command:parameterValue required="true">ConnectionString</command:parameterValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>New-LiteDatabase</maml:name> <command:parameter required="false" position="0" > <maml:name>Stream</maml:name> <command:parameterValue required="true">Stream</command:parameterValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" position="0" > <maml:name>ConnectionString</maml:name> <maml:description> <maml:para>Specifies the LiteDB connection string.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="0" > <maml:name>Stream</maml:name> <maml:description> <maml:para>Specifies the stream for reading and writing as the database.</maml:para> </maml:description> </command:parameter> </command:parameters> <command:returnValues> <command:returnValue> <dev:type> <maml:name>LiteDB.LiteDatabase</maml:name> </dev:type> <maml:description> <maml:para>The database instance. Must be disposed after use.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>$Database = New-LiteDatabase :memory: try { # working with $Database... $Database } finally { $Database.Dispose() }</dev:code> <dev:remarks> <maml:para>Classic try/finally pattern for disposing objects.</maml:para> </dev:remarks> </command:example> </command:examples> <maml:relatedLinks> <maml:navigationLink> <maml:linkText>Use-LiteDatabase</maml:linkText> </maml:navigationLink> </maml:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10"> <command:details> <command:name>Use-LiteDatabase</command:name> <maml:description> <maml:para>Opens the database, invokes the script, and closes the database.</maml:para> </maml:description> <command:verb>Use</command:verb> <command:noun>LiteDatabase</command:noun> </command:details> <maml:description> <maml:para>The cmdlet opens new or existing database, creates the variable $Database for it, and invokes the specified script. When the script completes or fails the database is automatically disposed.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Use-LiteDatabase</maml:name> <command:parameter required="false" position="0" > <maml:name>ConnectionString</maml:name> <command:parameterValue required="true">ConnectionString</command:parameterValue> </command:parameter> <command:parameter required="true" position="1" > <maml:name>Script</maml:name> <command:parameterValue required="true">ScriptBlock</command:parameterValue> </command:parameter> </command:syntaxItem> <command:syntaxItem> <maml:name>Use-LiteDatabase</maml:name> <command:parameter required="false" position="0" > <maml:name>Stream</maml:name> <command:parameterValue required="true">Stream</command:parameterValue> </command:parameter> <command:parameter required="true" position="1" > <maml:name>Script</maml:name> <command:parameterValue required="true">ScriptBlock</command:parameterValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="false" position="0" > <maml:name>ConnectionString</maml:name> <maml:description> <maml:para>Specifies the LiteDB connection string.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="0" > <maml:name>Stream</maml:name> <maml:description> <maml:para>Specifies the stream for reading and writing as the database.</maml:para> </maml:description> </command:parameter> <command:parameter required="true" position="1" > <maml:name>Script</maml:name> <maml:description> <maml:para>The script operating on the database.</maml:para> </maml:description> </command:parameter> </command:parameters> <command:returnValues> <command:returnValue> <dev:type> </dev:type> <maml:description> <maml:para>Output of the script.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Use-LiteDatabase :memory: { # working with $Database... $Database }</dev:code> </command:example> </command:examples> <maml:relatedLinks> <maml:navigationLink> <maml:linkText>New-LiteDatabase</maml:linkText> </maml:navigationLink> </maml:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10"> <command:details> <command:name>Use-LiteTransaction</command:name> <maml:description> <maml:para>Invokes the script operating on data with a transaction.</maml:para> </maml:description> <command:verb>Use</command:verb> <command:noun>LiteTransaction</command:noun> </command:details> <maml:description> <maml:para>The cmdlet creates a new transaction or continues using the existing in the same thread. Then it invokes the specified script. The new transaction is automatically committed or aborted depending on the script completion or failure.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Use-LiteTransaction</maml:name> <command:parameter required="true" position="0" > <maml:name>Script</maml:name> <command:parameterValue required="true">ScriptBlock</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Database</maml:name> <command:parameterValue required="true">ILiteDatabase</command:parameterValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" position="0" > <maml:name>Script</maml:name> <maml:description> <maml:para>The script operating on data in the transaction.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Database</maml:name> <maml:description> <maml:para>The database instance. If it is omitted then the variable $Database is expected. Use New-LiteDatabase or Use-LiteDatabase in order to get the database instance.</maml:para> </maml:description> </command:parameter> </command:parameters> <command:returnValues> <command:returnValue> <dev:type> </dev:type> <maml:description> <maml:para>Output of the script.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Use-LiteDatabase :memory: { Use-LiteTransaction { # working with $Database in transaction... $Database } }</dev:code> </command:example> </command:examples> <maml:relatedLinks> <maml:navigationLink> <maml:linkText>New-LiteDatabase</maml:linkText> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Use-LiteDatabase</maml:linkText> </maml:navigationLink> </maml:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10"> <command:details> <command:name>Get-LiteCollection</command:name> <maml:description> <maml:para>Gets the collection instance.</maml:para> </maml:description> <command:verb>Get</command:verb> <command:noun>LiteCollection</command:noun> </command:details> <maml:description> <maml:para>The cmdlet gets the collection instance by its name from the specified or default database.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Get-LiteCollection</maml:name> <command:parameter required="true" position="0" > <maml:name>CollectionName</maml:name> <command:parameterValue required="true">String</command:parameterValue> </command:parameter> <command:parameter required="false" position="1" > <maml:name>AutoId</maml:name> <command:parameterValue required="true">BsonAutoId</command:parameterValue> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Database</maml:name> <command:parameterValue required="true">ILiteDatabase</command:parameterValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" position="0" > <maml:name>CollectionName</maml:name> <maml:description> <maml:para>The collection name, case insensitive.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="1" > <maml:name>AutoId</maml:name> <maml:description> <maml:para>The automatic identifier data type.</maml:para> <maml:para>Values : Int32, Int64, ObjectId, Guid</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="named" > <maml:name>Database</maml:name> <maml:description> <maml:para>The database instance. If it is omitted then the variable $Database is expected. Use New-LiteDatabase or Use-LiteDatabase in order to get the database instance.</maml:para> </maml:description> </command:parameter> </command:parameters> <command:returnValues> <command:returnValue> <dev:type> <maml:name>LiteDB.ILiteCollection[LiteDB.BsonDocument]</maml:name> </dev:type> <maml:description> <maml:para>The collection instance.</maml:para> </maml:description> </command:returnValue> </command:returnValues> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code>Use-LiteDatabase :memory: { # get the collection $MyCollection = Get-LiteCollection MyCollection # use it... $MyCollection }</dev:code> </command:example> </command:examples> <maml:relatedLinks> <maml:navigationLink> <maml:linkText>New-LiteDatabase</maml:linkText> </maml:navigationLink> <maml:navigationLink> <maml:linkText>Use-LiteDatabase</maml:linkText> </maml:navigationLink> </maml:relatedLinks> </command:command> <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10"> <command:details> <command:name>Register-LiteType</command:name> <maml:description> <maml:para>Registers custom type serialization.</maml:para> </maml:description> <command:verb>Register</command:verb> <command:noun>LiteType</command:noun> </command:details> <maml:description> <maml:para>The cmdlet allows custom serialization definition using script blocks.</maml:para> </maml:description> <command:syntax> <command:syntaxItem> <maml:name>Register-LiteType</maml:name> <command:parameter required="true" position="0" > <maml:name>Type</maml:name> <command:parameterValue required="true">Type</command:parameterValue> </command:parameter> <command:parameter required="false" position="1" > <maml:name>Serialize</maml:name> <command:parameterValue required="true">ScriptBlock</command:parameterValue> </command:parameter> <command:parameter required="false" position="2" > <maml:name>Deserialize</maml:name> <command:parameterValue required="true">ScriptBlock</command:parameterValue> </command:parameter> </command:syntaxItem> </command:syntax> <command:parameters> <command:parameter required="true" position="0" > <maml:name>Type</maml:name> <maml:description> <maml:para>Specifies the custom serialized type.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="1" > <maml:name>Serialize</maml:name> <maml:description> <maml:para>The script which converts the live object $_ to the object to be serialized.</maml:para> </maml:description> </command:parameter> <command:parameter required="false" position="2" > <maml:name>Deserialize</maml:name> <maml:description> <maml:para>The script which converts the deserialized object $_ to the live object.</maml:para> </maml:description> </command:parameter> </command:parameters> <command:examples> <command:example> <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title> <dev:code># save Version as string Register-LiteType ([Version]) { $_.ToString() } { [version]$_ } # test $data1 = [version]'1.2.3' $saved = [LiteDB.BsonMapper]::Global.Serialize([version], $data1) $data2 = [LiteDB.BsonMapper]::Global.Deserialize([version], $saved) $data2 -eq $data1</dev:code> </command:example> </command:examples> </command:command> </helpItems> |