Indexing 我可以基于串联字符串创建Couchbase Lite索引吗?

Indexing 我可以基于串联字符串创建Couchbase Lite索引吗?,indexing,couchbase-lite,Indexing,Couchbase Lite,我有一个为Couchbase Lite 1.4编写的应用程序,我正在将其升级到2.7 我们有一堆现有的MapDelegate函数。我将用一个索引和一个查询来替换它们 在一种方法中,我们基于自定义连接字符串创建映射: dynamic items; document.TryGetValue("items", out items); i

我有一个为Couchbase Lite 1.4编写的应用程序,我正在将其升级到2.7

我们有一堆现有的MapDelegate函数。我将用一个索引和一个查询来替换它们

在一种方法中,我们基于自定义连接字符串创建映射:

                            dynamic items;
                            document.TryGetValue("items", out items);
                            if (items is JArray)
                            {
                                foreach (var item in items)
                                {
                                    string divisionCode = item.divisionCode;
                                    string styleSeasonCode = item.styleSeasonCode;
                                    int id = item.id;

                                    emit(string.Format("{0}_{1}_{2}",
                                        divisionCode,
                                        styleSeasonCode,
                                        id
                                        ), item);
                                }
                            }

可以基于这样的自定义连接字符串创建索引吗?或者我们必须更改文档,使DivisionCode、StyleSeasonCode和Id成为顶级字段,而不是数组中的字段?

我认为这个问题没有意义。无法在“foo_bar_baz”上创建索引,因为没有名为“foo_bar_baz”的属性。实际上,我想,从技术上讲,你可以创建这样一个索引。由于没有这样的属性,这将是非常无用的…我在CouchbaseLite中发现了ArrayFunction和ArrayExpression类,但我仍然不确定如何使用它们来重新创建索引。对于数组中的每个对象,它都会创建一个新的索引值。无法在“foo_bar_baz”上创建索引,因为没有名为“foo_bar_baz”的属性。实际上,我想,从技术上讲,你可以创建这样一个索引。由于没有这样的属性,这将是非常无用的…我在CouchbaseLite中发现了ArrayFunction和ArrayExpression类,但我仍然不确定如何使用它们来重新创建索引。对于数组中的每个对象,它都会创建一个新的索引值。