Soweit ich Ihre Frage verstanden habe, glaube ich, dass Sie die dynamischen IDs zum BsonValue
hinzufügen müssen Reihe. Verwendung einer Erweiterung aus dieser Antwort
:
<Extension()> _
Public Sub Add(Of T)(ByRef arr As T(), item As T)
Array.Resize(arr, arr.Length + 1)
arr(arr.Length - 1) = item
End Sub
Welche Sie dann in Ihrem Code verwenden können als:
Dim dtDetails As DataTable = Utility.GetDetailsTable()
Dim resource_ids As new BsonArray
Dim dtrow = dtDetails.Select("id='" & user_id & "'")
If dtrow.Length > 0 Then
For i As Integer = 0 To dtrow.Length - 1
resource_ids.Add(Convert.ToString(dtrow(i)("instance_id")))
Next
End If
Dim queries = Query.And(
Query.EQ("user_id", user_id),
Query.In("resource_id", resource_ids)
)
Dim Docs = ceilometer.GetCollection("meter").Find(queries)