MongoDB 之旅(四) 深入学习

--------------------------------------------------------

tips:

SKU:Stock keeping Unit,最小存货单位。

db.categories.find({_id:{$in:product['category_ids']}});

db.products.renameCollection("store_products");

db.createCollection("users.actions",{capped:true,size:1024});

db.user.actions.find().sort({"$natural":-1});

db.system.namespaces.find();  db.system.indexes.find();

MongoDBV2.0中,BSON文档的大小被限制在16MB。便于设计出良好的数据模型;性能有关。

db.products.find({'slug':'wheel-barrow-9092'});  = sql中like查询

db.users.find({first_name:"Smith",age:40}); 与查询

db.users.find({age:{$gte:0},age:{$lte:30}}); db.users.find({age:{$gte:0,$lte30}});

 --------------------------------------------------------

其它:

集合操作符:$in,$all,$nin;

布尔操作符:$ne,$not,$or,$and,$exits;

上面这些应该足够日常使用;还有一些更加深入的查询方式,在此不再继续介绍了。

再多介绍一下投影技术:

db.users.find({},{username:1}); //返回的结果集中只包含2个字段:_id和username;

db.users.find({},{addresses:0,payment_methods:0});//返回的结果集对象不含addresses和payment_methods2个字段

db.products.find({},{reviews:{$slice:12}});//返回评论中头12篇

db.products.find({},{reviews:{$slice:-5}});//返回评论中后5篇

db.products.find({},{reviews:{$slice:[24,12]}});//跳过前24篇后的12篇文章

sort中-1为降序;1为升序。

db.products.distinct("tag");

--------------------------------------------------------

聚合指令:group函数;  map-reduce函数;

原子文档处理:没有事务的MongoDB提供了原子的方式处理文档:findAndModify命令。

db.products.update({price:{$lte:10}},{$addToSet:{tags:'cheap'}});//基本上,更新操作符是前缀,查询操作符通常是中缀。

upsert:没有插入,存在update,限于一条记录。

--------------------------------------------------------

 

基于目前情况,mongoDB的索引、复制、分片以及部署等情况,暂不介绍了,休息一下!

posted @ 2013-04-05 22:08  Alex Von Kwok  阅读(368)  评论(0编辑  收藏  举报