欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

MongoDB之旅(四)深入学习

程序员文章站 2022-05-13 20:14:37
...

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.use

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,限于一条记录。