假设:
db.XXX.remove();
db.XXX.insert({"names":["BuleRiver1", "BuleRiver2", "BuleRiver3"]});
下面的查询:
db.XXX.find({"names":"BuleRiver1"});
将返回该条记录
如果要同时有BuleRiver1和BuleRiver2才返回呢?
db.XXX.find({"names":["BuleRiver1", "BuleRiver2"]});
不会返回刚才的条目。
怎么返回呢?使用$all:
db.XXX.find({"names":{"$all":["BuleRiver1", "BuleRiver2"]}})
如果要返回names数组长度为3的条目呢?使用$size
db.XXX.find({"names":{"$size":3}});
如果想要返回该数组的前2项呢?使用$slice
db.XXX.find({"names":{"$slice":2}});
返回后两条:
db.XXX.find({"names":{"$slice":-2}});
从第2条开始,返回3个条目:
db.XXX.find({"names":{"$slice":[2, 3]}});
db.XXX.remove();
db.XXX.insert({"names":["BuleRiver1", "BuleRiver2", "BuleRiver3"]});
下面的查询:
db.XXX.find({"names":"BuleRiver1"});
将返回该条记录
如果要同时有BuleRiver1和BuleRiver2才返回呢?
db.XXX.find({"names":["BuleRiver1", "BuleRiver2"]});
不会返回刚才的条目。
怎么返回呢?使用$all:
db.XXX.find({"names":{"$all":["BuleRiver1", "BuleRiver2"]}})
如果要返回names数组长度为3的条目呢?使用$size
db.XXX.find({"names":{"$size":3}});
如果想要返回该数组的前2项呢?使用$slice
db.XXX.find({"names":{"$slice":2}});
返回后两条:
db.XXX.find({"names":{"$slice":-2}});
从第2条开始,返回3个条目:
db.XXX.find({"names":{"$slice":[2, 3]}});
作者:BuleRiver 发表于2013-5-12 0:14:09 原文链接
阅读:190 评论:0 查看评论