Heim >Datenbank >MySQL-Tutorial >MongoDB之旅(四)深入学习

MongoDB之旅(四)深入学习

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 14:58:271198Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn