F# 在F中使用组合键的Couchbase查询#

F# 在F中使用组合键的Couchbase查询#,f#,couchbase,F#,Couchbase,如何转换以下组合键查询: ?stale=false&connection_timeout=60000&limit=10&skip=0&startkey=["Default",{}]&endkey=["Default"]&descending=true 在使用F#时访问couchbase.net api。我在这里发现了一个类似的使用C#LINQ的方法 ,但如何使用F#实现同样的效果呢 缺少的部分是 let result = myView.Desce

如何转换以下组合键查询:

?stale=false&connection_timeout=60000&limit=10&skip=0&startkey=["Default",{}]&endkey=["Default"]&descending=true
在使用F#时访问couchbase.net api。我在这里发现了一个类似的使用C#LINQ的方法 ,但如何使用F#实现同样的效果呢

缺少的部分是

let result = myView.Descending(true).Stale(StaleMode.False).Limit(limit).StartKey( ??? ).EndKey( ??? )

任何帮助都将不胜感激。

您似乎在询问如何在F#中创建数组。要在F#中声明对象数组,请执行以下操作:

请注意,通常不需要类型规范,但由于在数组中混合类型,编译器将假定数组中第一个对象的类型(int),因此
新对象()
将导致编译错误。添加类型规范修复了这个问题

let result = myView.Descending(true).Stale(StaleMode.False).Limit(limit).StartKey( startKey ).EndKey( endKey )

你几乎是对的。“{}”实际上将序列化为json字符串,而不是仅为{}的空对象。匹配查询的正确方法是:[|“Default”;new Object()|]我不知道数组的类型规范,谢谢。请修改答案,我会将其标记为这样。实际上,我刚刚从您链接的另一个问题中窃取了数组。很高兴将其更改为
对象
let result = myView.Descending(true).Stale(StaleMode.False).Limit(limit).StartKey( startKey ).EndKey( endKey )