使用F#中的复合键进行Couchbase查询

时间:2013-05-18 04:27:12

标签: f# couchbase

如何翻译以下复合键查询:

?stale=false&connection_timeout=60000&limit=10&skip=0&startkey=["Default",{}]&endkey=["Default"]&descending=true

到couchbase .net api使用F#时。我在这里找到了类似的使用C#LINQ Couchbase .Net Library complex startKey/endKey types,但我怎样才能使用F#完成同样的工作?

缺少的部分是???

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

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

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

let (startKey: Object array) = [|35; 23; new Object()|]
let (endKey: Object array) = [|35; 23|]

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

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