我现在正在使用mongodb.
我有blogpost集合,blogpost有一个标签,这是一个数组,例如
blogpost1.tags = ['tag1', 'tag2', 'tag3', 'tag4', 'tag5']
blogpost2.tags = ['tag2', 'tag3']
blogpost3.tags = ['tag2', 'tag3', 'tag4', 'tag5']
blogpost4.tags = ['tag1', 'tag4', 'tag5']
Run Code Online (Sandbox Code Playgroud)
我该怎么做这些搜索
Jef*_*ear 218
试试这个:
db.blogpost.find({ 'tags' : 'tag1'}); //1
db.blogpost.find({ 'tags' : { $all : [ 'tag1', 'tag2' ] }}); //2
db.blogpost.find({ 'tags' : { $in : [ 'tag3', 'tag4' ] }}); //3
Run Code Online (Sandbox Code Playgroud)
我的经验是,对于(2)以下解决方案比使用"$ all"的解决方案要快得多:
db.blogpost.find({ $and: [ {tags: 'tag1'} ,{tags: 'tag2'} ] });
Run Code Online (Sandbox Code Playgroud)
但说实话,我不是为什么.如果有人知道,我会感兴趣.
| 归档时间: |
|
| 查看次数: |
75413 次 |
| 最近记录: |