我需要使用 PowerShell 查询我们的 Couchdb Tennant 数据库。在浏览了不同的论坛、帮助文档等之后,我整理了以下内容。
$password = ConvertTo-SecureString 'MyPassword' -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential ('MyUsername', $password)
$Params = @{
Method = "POST"
Uri = "MyURL/tenantdb-ffffffff-0000-0000-0006-000000000000/_find"
ContentType = "application/json"
Body = '{"selector": {"type":{"$eq":"referenceRequest"}},"processedDateTime":["$gt": "2023-01-26"]}'
}
Invoke-WebRequest @Params -Credential $credential
我收到以下错误...
Invoke-WebRequest : {"error":"bad_request","reason":"invalid UTF-8 JSON"}
有人可以帮忙/建议吗?
我提前道歉,这对我来说是新鲜事。
答案1
正如错误所说,您只是使用了错误的 JSON。
这部分是错误的:
"processedDateTime":["$gt": "2023-01-26"]
你传递的数组没有使用带有 的属性语法:
。它也需要是一个用{}
而不是包装的对象[]
:
"processedDateTime":{"$gt": "2023-01-26"}
大括号的位置看起来也不正确。我确信应该是
{"selector": {"type":{"$eq":"referenceRequest"},"processedDateTime":{"$gt": "2023-01-26"}}}
这样该字段就位于selector
对象内部。