MongoDB Cmdlets for PowerShell
Mdbc is the PowerShell module based on the official MongoDB C# driver. Mdbc makes MongoDB data and operations PowerShell friendly.
Step 1: Get and install
Package from PSGallery
Mdbc for PowerShell Core and v5.1 is published as the PSGallery module Mdbc.
You can install the module by this command:
Install-Module Mdbc
Package from NuGet
Mdbc for PowerShell v3-v5.1 is published as the NuGet package Mdbc. Download it by NuGet tools or directly. In the latter case save it as ".zip" and unzip. Use the package subdirectory "tools/Mdbc".
Copy the directory Mdbc to one of the PowerShell module directories, see
$env:PSModulePath
, for example like this:
C:/Users/<User>/Documents/WindowsPowerShell/Modules/Mdbc
Step 2: In a PowerShell command prompt import the module:
Import-Module Mdbc
Step 3: Take a look at help and available commands:
help about_Mdbc
help Connect-Mdbc -Full
Get-Command -Module Mdbc
Step 4: Make sure mongod is running and try some commands:
# Load the module
Import-Module Mdbc
# Connect the new collection test.test
Connect-Mdbc . test test -NewCollection
# Add two documents
@{_id = 1; value = 42}, @{_id = 2; value = 3.14} | Add-MdbcData
# Get documents as PS objects
Get-MdbcData -As PS | Format-Table
# Get the document by _id
Get-MdbcData @{_id = 1}
# Update the document, set 'value' to 100
Update-MdbcData @{_id = 1} @{'$set' = @{value = 100}}
# Get the document again, 'value' is 100
$doc = Get-MdbcData @{_id = 1}
# Remove the document
$doc | Remove-MdbcData
# Count documents, 1
Get-MdbcData -Count
Read cmdlet help topics and take a look at examples for some basic use cases.
Use Scripts/Mdbc.ArgumentCompleters.ps1 for database and collection name completion and property completion. Scripts/Update-MongoFiles.ps1 is a toy for making test data but may be useful for tracking file changes. See also tests, for example:
Driver | Module | Output |
---|---|---|
Client | ||
MongoClient | Connect-Mdbc | $Client $Database $Collection |
GetDatabase | Get-MdbcDatabase | database(s) |
DropDatabase | Remove-MdbcDatabase | none |
Transactions | Use-MdbcTransaction | - |
Watch | Watch-MdbcChange -Client | cursor |
Database | ||
RunCommand | Invoke-MdbcCommand | document |
GetCollection | Get-MdbcCollection | collection(s) |
CreateCollection | Add-MdbcCollection | none |
RenameCollection | Rename-MdbcCollection | none |
DropCollection | Remove-MdbcCollection | none |
Watch | Watch-MdbcChange -Database | cursor |
Collection | ||
InsertOne | Add-MdbcData | none |
Find | Get-MdbcData | documents |
CountDocuments | Get-MdbcData -Count | count |
Distinct | Get-MdbcData -Distinct | values |
FindOneAndDelete | Get-MdbcData -Remove | old document |
FindOneAndReplace | Get-MdbcData -Set | old or new document |
FindOneAndUpdate | Get-MdbcData -Update | old or new document |
DeleteOne | Remove-MdbcData | none or info (-Result) |
DeleteMany | Remove-MdbcData -Many | none or info (-Result) |
ReplaceOne | Set-MdbcData | none or info (-Result) |
UpdateOne | Update-MdbcData | none or info (-Result) |
UpdateMany | Update-MdbcData -Many | none or info (-Result) |
Aggregate | Invoke-MdbcAggregate | documents |
Watch | Watch-MdbcChange -Collection | cursor |
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。