Вы используете здесь строку с одинарными кавычками в командной строке mongo
, что означает, что она не интерполирует переменную $Base64MD5
- она буквально встраивает строку $Base64MD5
в качестве второго параметра в BinData
.
Сравните этот пример с единственной кавычкой здесь-строка (@' ... '@
):
PS> $aaa = "myfile.txt"
PS> x$ = notepad @'
>> $aaa
>> '@
, которая запускает блокнот и показывает ошибку Cannot find the $aaa.txt file.
против этого с двойные кавычки (@" ... "@
)
PS> $aaa = "myfile.txt"
PS> x$ = notepad @"
>> $aaa
>> "@
, которые вместо этого показывают ошибку Cannot find the myfile.txt file.
.
Попробуйте изменить разделитель здесь-строки на двойные кавычки - то есть:
$Hashhit = mongo --host $connectionString --eval @"
db.Media.findOne
(
{ 'Batches.Hashes.Hash': BinData(0, '$Base64MD5') }
)
"@
и посмотрите, работает ли это ...