小编Rom*_*hin的帖子

Firestore批量写入操作顺序保证

批量写入中的操作是否保证按照其调用顺序执行?根据文档尚不清楚。是否强制只能是 (#0) -> (#1) -> (#2) 而不是其他方式?

const batch = db.batch();

const nycRef = db.collection('cities').doc('NYC');
batch.set(nycRef, {name: 'New York City'}); // (#0)

const sfRef = db.collection('cities').doc('SF');
batch.update(sfRef, {population: 1000000}); // (#1)

const laRef = db.collection('cities').doc('LA');
batch.delete(laRef); // (#2)

return batch.commit().then(function () {
  // ...
});

Run Code Online (Sandbox Code Playgroud)

firebase google-cloud-firestore

5
推荐指数
1
解决办法
986
查看次数

如何在MongoDB中按楼层汇总

MongoDB聚合框架没有floor功能.它只有简单的算术运算符.那么,如何floor使用它们来组合函数呢?

mongodb mongo-shell mongodb-query aggregation-framework

3
推荐指数
1
解决办法
707
查看次数

F#:在不使用Seq.empty的情况下编写空序列

我使用F#编写了自己的LINQ重新实现(感谢Jon Skeet的灵感).

我用一个技巧来生成空序列:

let empty<'b> =
        seq {
            for n = 0 to -1 do
                yield Unchecked.defaultof<'b>
        }

printfn "%A" empty<int> // -> seq []
Run Code Online (Sandbox Code Playgroud)

有没有惯用的方法来做到这一点?

(Seq.empty没用,我只是重新实现它)

linq f# sequence seq

2
推荐指数
1
解决办法
370
查看次数

F#:记录查询字符串

我正在寻找一个现有的解决方案来序列化记录来查询字符串,但一无所获.我知道F#的漂亮打印,但我不知道如何手动访问它.

通常我想要这样的东西:

type Person = {first:string; last:string}
type Group = {name:string; size:int}

let person = {first="Mary"; last="Smith"}
let personQueryString = Something.toQueryString person

let group = {name="Full"; size=345}
let groupQueryString = Something.toQueryString group
Run Code Online (Sandbox Code Playgroud)

哪里

personQueryString -> "first=Mary&last=Smith"
groupQueryString -> "name=Full&size=345"
Run Code Online (Sandbox Code Playgroud)

serialization f# query-string

2
推荐指数
1
解决办法
125
查看次数

F#:用管道对括号调用函数是一种惯用的方法吗?

如果具有以下功能:

let test arg func =
    func arg
Run Code Online (Sandbox Code Playgroud)

它是使用管道调用的惯用方式,

test 1 <| fun n -> n = 2
Run Code Online (Sandbox Code Playgroud)

而不是用括号来称呼它?

test 1 (fun n -> n = 2)
Run Code Online (Sandbox Code Playgroud)

而且什么时候不应该以这种方式使用管道?

f#

1
推荐指数
1
解决办法
143
查看次数