标题可能令人困惑 - 让我解释一下:
我必须以这样的格式存储数据(此示例为mongoDB
格式):
{
name: 'entity1',
field: 'value',
tags: ['tag1','tag2','tag3'],
}
现在我需要这样的功能:
function(text){
// find all entities where text contains at least one of entity tags
}
我尝试在mongoDB上完成此操作并找到使用$where
查询的解决方案,但它确实对数组属性进行了工作,无论如何它都很慢。
我正在寻找可以使用的解决方案/ db ......
答案 0 :(得分:2)
由于您的问题与任何与代码相关的问题无关,而是基于缺乏知识的通用教育问题,因此您正在获得投票。所以不鼓励这类问题。当你基本上要求别人做你的功课时。
<强>答案:强>
MongoDB允许为数组中的字符串创建索引:
db.item.ensureIndex({ tags: 1 });
然后找到:
db.item.find({ tags: 'tag2' });
MongoDB足够聪明,可以理解它是数组,而你正在寻找数组中的值。