假设我将电影名称存储在数据库表中名为“title”的列中。 因此,“标题”将具有诸如“老鹰敢于”,“社交网络”等价值观。
现在,如果我继续搜索,那就说“胆敢去哪里”它应该让我“老鹰敢于”。
这里的where
条款应该是什么?
答案 0 :(得分:3)
1 /存储标签,如果你想根据标签进行搜索(就像你的情况一样): 示例文档:
{ '_id' : 'xxxxxxxxx',
'movie' : 'where eagles dare'
'tags' : ['where','eagles','dare']
}
然后使用$ all运算符匹配所有标记,
http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24all
db.movieCollection.find( { 'tags' : { $all: [ 'dare', 'where' ] } } );
2 /如果要使用模式搜索,请使用正则表达式:
http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-RegularExpressions
db.movieCollection.find( { name : { $regex : '.*eagles.*', $options: 'i' } } )
将搜索所有包含“鹰”的电影。