使用 PowerShell 在 CouchDB 3.1 上查找文档

使用 PowerShell 在 CouchDB 3.1 上查找文档

我需要使用 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对象内部。

相关内容