我对NoSQL数据库还是很陌生,但是可查询的对象存储概念似乎很简单。但是,在为基于内容的图像检索数据库计划算法时,我需要全神贯注于Couchbase比较存储的属性的过程。
看来编写文档只接受一个NSString,所以我假设给定的NSDictionary键仅被假定为字符串。此外,文档和示例应用程序并没有真正说明在查询过程中如何存储和推理数据。
例如,来自examples page。
CBLView* orderedByDateView = [self getView];
[orderedByDateView setMapBlock: MAPBLOCK({
emit(doc[@"date"], nil);
}) version: @"1" /* Version of the mapper */ ];
orderedByDateQuery.descending = YES;
orderedByDateQuery.startKey = @"2015";
orderedByDateQuery.endKey = @"2014";
orderedByDateQuery.limit = 20;
该代码对我说的是最多选择20个对象,以使
date
属性的范围在2014年至2015年之间(假设存在中间值,例如2014.1、2014.2)。但是,那些不像切割和干燥的东西以及字符串或者其描述方法不能很好地表现出来的对象呢?平等使用什么机制?除平等之外还有其他运算符吗?我的对象可以采用NSCopying协议进行存储和还原吗?我也研究了NanoStore。它似乎存储了更多的Objective-C ish数据结构,尽管自2013年以来似乎未进行过更新。也许它更适合我的需求?
最佳答案
我相信开始键/结束键要获取通配符的答案是'\ ueffff',因此您可以在示例中将该值附加到字符串值,并从本质上获得与相同键相关但适合的事物的通配符许多变化。