当前位置:数据库 > mongodb >>

MongoDB之旅(四)深入学习

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,限于一条记录。
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,