Powershell 将参数传递给 MongoDB.Driver.QueryDocument
Powershell Passing parameter to MongoDB.Driver.QueryDocument
我可以将字符串参数传递给 MongoDB.Driver.QueryDocument 吗?
对于以下相同的脚本,1) returns 文档和 2) returns 空。
1)
$query = new-object MongoDB.Driver.QueryDocument("item", "car")
$found = $mongoCollection.FindOne($query)
2)
$comp = "car"
function Get-Document($comp){
$query = new-object MongoDB.Driver.QueryDocument("item", $comp)
$found = $mongoCollection.FindOne($query)
return $found
}
$result = Get-Document $comp
Write-host $result
我没有使用 MongoDB 的经验,但我不明白为什么第二个代码片段不能工作,而第一个可以。我认为问题在于您的函数实际上 return 什么都没有。
PowerShell 函数 return 将所有未捕获的输出输出给调用者,因此您需要删除赋值 $found = ...
以使函数 return 成为结果(当然您需要也可以调用它):
$comp = "car"
function Get-Document($item){
$query = new-object MongoDB.Driver.QueryDocument("item", $item)
$mongoCollection.FindOne($query)
}
$found = Get-Document $comp
我可以将字符串参数传递给 MongoDB.Driver.QueryDocument 吗?
对于以下相同的脚本,1) returns 文档和 2) returns 空。
1)
$query = new-object MongoDB.Driver.QueryDocument("item", "car")
$found = $mongoCollection.FindOne($query)
2)
$comp = "car"
function Get-Document($comp){
$query = new-object MongoDB.Driver.QueryDocument("item", $comp)
$found = $mongoCollection.FindOne($query)
return $found
}
$result = Get-Document $comp
Write-host $result
我没有使用 MongoDB 的经验,但我不明白为什么第二个代码片段不能工作,而第一个可以。我认为问题在于您的函数实际上 return 什么都没有。
PowerShell 函数 return 将所有未捕获的输出输出给调用者,因此您需要删除赋值 $found = ...
以使函数 return 成为结果(当然您需要也可以调用它):
$comp = "car"
function Get-Document($item){
$query = new-object MongoDB.Driver.QueryDocument("item", $item)
$mongoCollection.FindOne($query)
}
$found = Get-Document $comp