खोज…
टिप्पणियों
सबसे कठिन हिस्सा दस्तावेज है जो अभी तक नहीं बनाई है अगर हम subdocument जरूरत की जरूरत में होना में एक subdocument संलग्न करने के लिए है की उम्मीद लग रही है कि हम एक साथ पाश के लिए सरणी एक चर में पुनरावृति करने की आवश्यकता होगी और का उपयोग कर $doc2.add("Key", "Value")
इसके बजाय इंडेक्स के साथ foreach
करंट एरे का उपयोग करें। यह दो पंक्तियों में "Tags" = [MongoDB.Bson.BsonDocument] $doc2
बना देगा जैसा कि आप "Tags" = [MongoDB.Bson.BsonDocument] $doc2
में देख सकते हैं।
पॉवरशेल का उपयोग करके C # ड्राइवर 1.7 के साथ MongoDB
मुझे वर्चुअल मशीन से सभी विवरणों की क्वेरी करने और MongoDB में अपडेट करने की आवश्यकता है।
Which require the output look like this.
{
"_id" : ObjectId("5800509f23888a12bccf2347"),
"ResourceGrp" : "XYZZ-MachineGrp",
"ProcessTime" : ISODate("2016-10-14T03:27:16.586Z"),
"SubscriptionName" : "GSS",
"OS" : "Windows",
"HostName" : "VM1",
"IPAddress" : "192.168.22.11",
"Tags" : {
"costCenter" : "803344",
"BusinessUNIT" : "WinEng",
"MachineRole" : "App",
"OwnerEmail" : "[email protected]",
"appSupporter" : "Steve",
"environment" : "Prod",
"implementationOwner" : "[email protected]",
"appSoftware" : "WebServer",
"Code" : "Gx",
"WholeOwner" : "[email protected]"
},
"SubscriptionID" : "",
"Status" : "running fine",
"ResourceGroupName" : "XYZZ-MachineGrp",
"LocalTime" : "14-10-2016-11:27"
}
मेरे पास Powershell में सरणी के 3 सेट हैं
$MachinesList # Array
$ResourceList # Array
$MachineTags # Array
pseudo code
$mongoDriverPath = 'C:\Program Files (x86)\MongoDB\CSharpDriver 1.7';
Add-Type -Path "$($mongoDriverPath)\MongoDB.Bson.dll";
Add-Type -Path "$($mongoDriverPath)\MongoDB.Driver.dll";
$db = [MongoDB.Driver.MongoDatabase]::Create('mongodb://127.0.0.1:2701/RGrpMachines');
[System.Collections.ArrayList]$TagList = $vm.tags
$A1 = $Taglist.key
$A2 = $Taglist.value
foreach ($Machine in $MachinesList)
{
foreach($Resource in $ResourceList)
{
$doc2 = $null
[MongoDB.Bson.BsonDocument] $doc2 = @{}; #Create a Document here
for($i = 0; $i -lt $TagList.count; $i++)
{
$A1Key = $A1[$i].ToString()
$A2Value = $A2[$i].toString()
$doc2.add("$A1Key", "$A2Value")
}
[MongoDB.Bson.BsonDocument] $doc = @{
"_id"= [MongoDB.Bson.ObjectId]::GenerateNewId();
"ProcessTime"= [MongoDB.Bson.BsonDateTime] $ProcessTime;
"LocalTime" = "$LocalTime";
"Tags" = [MongoDB.Bson.BsonDocument] $doc2;
"ResourceGrp" = "$RGName";
"HostName"= "$VMName";
"Status"= "$VMStatus";
"IPAddress"= "$IPAddress";
"ResourceGroupName"= "$RGName";
"SubscriptionName"= "$CurSubName";
"SubscriptionID"= "$subid";
"OS"= "$OSType";
}; #doc loop close
$collection.Insert($doc);
}
}
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow