如何从Couchbase存储桶中获取最后插入的Counter_id?这样我就可以从最后插入的id + 1开始增加值。我正在使用Couchbase java-client 2.5.5。
答案 0 :(得分:1)
要在存储在测试存储区中的文档中选择counter_id字段的最高当前值,可以运行此N1QL查询。
SELECT MAX(counter_id) FROM test
然后将值加1。
问题在于,如果由于查询的交错而根本没有任何现实的并发性,那么这样做将无法正常进行。在这种情况下,如果您只需要唯一值,则建议您使用UUID,它们很可能是唯一的。我相信Java具有某种用于生成UUID的库;它拥有其他一切。
如果您想从N1QL本身内部生成UUID(),也可以使用UUID()函数来完成。
或者,您可以使用对帐单文件,如下所述: https://blog.couchbase.com/using-autonumber-in-couchbase/