你能告诉我,如何在powershell中开发日期的参数化查询吗?

问题描述

start-process -FilePath "C:\Program Files\MongoDB\Tools\100\bin\mongoexport.exe" -ArgumentList ' --db=rndDB --collection=Messages --type=csv --fields 名称, Message,Address,Start_date,End_date -q "{"Start_date":{"$gte":{"$date":"2021-02-02T22:30:00.000Z"},"$lt":{"$date ":"2021-02-03T22:30:00.000Z"} } }" --out C:\Collection\Date_r2.csv'

解决方法

要扩展变量,它们必须放在双引号中。我假设您需要其他双引号,因此您可以使用反引号 ` 转义它们:

Start-Process -FilePath "C:\Program Files\MongoDB\Tools\100\bin\mongoexport.exe" -ArgumentList (
    ' --db=rndDB' +
    ' --collection=Messages' +
    ' --type=csv' +
    ' --fields Name,Message,Address,Start_date,End_date' +
    "-q `"{`"Start_date`":{`"$gte`":{`"$date`":`"2021-02-02T22:30:00.000Z`"},`"$lt`":{`"$date`":`"2021-02-03T22:30:00.000Z`"} } }" +
    '--out C:\Collection\Date_r2.csv'
)

或者组合单引号字符串:

'-q "{"Start_date":{"'+$gte+'":{"'+$date+'":"2021-02-02T22:30:00.000Z"},"'+$lt+'":{"'+$date+'":"2021-02-03T22:30:00.000Z"} } }"' +