/Mongodb/mongodb-core-document.java
https://github.com/KevinBlandy/notes · Java · 140 lines · 107 code · 33 blank · 0 comment · 0 complexity · 3b01c3e414e1d05ffbe40f11697d7788 MD5 · raw file
- -------------------------
- document
- -------------------------
- # Êý¾ÝÀàÐÍ
- * mongoÖеÄÊý×Ö, ĬÈÏÊÇ double Êý¾ÝÀàÐÍ, Èç¹ûÐèÒª´æ´¢ÕûÐÎ, ±ØÐëʹÓú¯Êý NumberInt(val)
- db.user.insert({name: "n3", age: NumberInt(27)});
-
- * ²åÈ뵱ǰÈÕÆÚʹÓÃ: new Date();
- * Èç¹û×Ö¶ÎΪ null, ²»Ó¦¸ÃÉùÃ÷
- -------------------------
- document - id
- -------------------------
- # ÔÚ¼¯ºÏÖвåÈëÎĵµÊ±£¬Èç¹ûûÓÐÔÚ×Ö¶ÎÃû³ÆÖÐÌí¼Ó´øÓÐ_idµÄ×Ö¶ÎÃû³Æ£¬ÔòMongoDB½«×Ô¶¯Ìí¼ÓÒ»¸öObject id×Ö¶Î
- {"_id": ObjectId("xxxxxxxxx")}
-
- -------------------------
- document - »ù±¾ÃüÁî
- -------------------------
- db.[collection].insert([document], [config]);
- * ÍùÖ¸¶¨µÄcollection²åÈëÒ»¸ö»òÕ߶à¸ö(²ÎÊýÓÃÊý×é)document
- * Èç¹û collection ²»´æÔÚ, »á´´½¨
- * Ö´Ðгɹ¦ºó·µ»Ø²åÈë³É¹¦µÄÎĵµÊýÁ¿
- WriteResult({"nInserted": 1});
-
- * config
- {
- writeConcern: <document>
- * ¿ÉÑ¡£¬Å׳öÒì³£µÄ¼¶±ð¡£
- ordered: true
- * ĬÈÏΪ true, °´ÕÕ˳Ðò²åÈëÎĵµ, Èç¹ûÆäÖÐÈκÎÒ»¸öÒì³£, ÔòÁ¢¼´·µ»Ø, Ê£ÓàµÄÎĵµ²»»á´¦Àí
- * Èç¹ûΪ false, Èç¹û²åÈëÎĵµÒì³£, Ìø¹ý²»»á·µ»Ø, ¼ÌÐø´¦ÀíºóÃæµÄÎĵµ
- }
-
- db.[collection].remove([condition], [config]);
- * ¸ù¾ÝÌõ¼þÒƳýÊý¾Ý
- * Èç¹ûûÓÐÌõ¼þ, ÔòÒƳýËùÓÐÊý¾Ý
-
- * config
- {
- justOne: false,
- * Èç¹ûÉèΪ true »ò 1£¬Ôòֻɾ³ýÒ»¸öÎĵµ
- * Èç¹û²»ÉèÖøòÎÊý£¬»òʹÓÃĬÈÏÖµ false£¬Ôòɾ³ýËùÓÐÆ¥ÅäÌõ¼þµÄÎĵµ¡£
- writeConcern: <document>
- * ¿ÉÑ¡£¬Å׳öÒì³£µÄ¼¶±ð¡£
- }
-
- -------------------------
- document - ¸üÐÂ
- -------------------------
- db.[collection].update([condition], [update], [config]);
- * ¸ù¾Ý condition Ö´ÐÐ update ÐÞ¸ÄÒ»ÌõÎĵµ
- db.users.update({name: "KevinBlandy"}, {$set: {name: "new Name"}}); // UPDATE `users` SET `name` = 'new Name' WHERE `name` = 'KevinBlandy';
-
- * Èç¹û²»Ê¹Óà $Set, Ö¸ÁîÀ´¶ÔÖ¸¶¨µÄ×ֶνøÐÐÐÞ¸Ä, ÄÇô¾Í»á±ä³É¸²¸ÇÐÞ¸Ä, ʹÓÃÐÂÎĵµ³¹µ×¸²¸Ç¾ÉÎĵµ
- db.users.update({name: "KevinBlandy"}, {name: "ff"}); // °Ñname=KevinBlandyµÄÎĵµ£¬Ð޸ijÉÖ»ÓÐ name=ffµÄÎĵµ
-
- * config Ñ¡Ïî
- {
- upsert: true,
- * ¿ÉÑ¡£¬Èç¹û²»´æÔÚupdateµÄ¼Ç¼£¬ÊÇ·ñ²åÈëobjNew ,trueΪ²åÈ룬ĬÈÏÊÇfalse£¬²»²åÈë¡£
- multi: true,
- * ¿ÉÑ¡£¬Ä¬ÈÏÊÇfalse,Ö»¸üÐÂÕÒµ½µÄµÚÒ»Ìõ¼Ç¼£¬Èç¹ûÕâ¸ö²ÎÊýΪtrue,¾Í°Ñ°´Ìõ¼þ²é³öÀ´¶àÌõ¼Ç¼ȫ²¿¸üС£
- writeConcern: <document>
- * ¿ÉÑ¡£¬Å׳öÒì³£µÄ¼¶±ð¡£
- collation: <document>,
- arrayFilters: [<filder-document>],
- hint: <document|string>
- }
-
- db.[collection].save([document], [config]);
- * ¸²¸ÇÐÞ¸Ä, ͨ¹ý´«ÈëµÄÎĵµÀ´Ìæ»»ÒÑÓÐÎĵµ
- * config Ñ¡Ïî
- {
- writeConcern: <document>
- * ¿ÉÑ¡£¬Å׳öÒì³£µÄ¼¶±ð¡£
- }
-
-
-
- # ¸üÐÂÏà¹ØµÄÖ¸Áî
- $set
- * ÉèÖÃÖµ
- * Èç¹û $set µÄ×ֶβ»´æÔÚ, »áд´½¨
-
- $inc (Ô×ÓÃüÁî)
- * ×ÔÔö×Ö¶ÎÖµ
- db.user.update({_id: ObjectId("5eba69c51e2bb3537a710e0b")}, {$inc: {age: 1}}); // ¶Ôage×ֶΠ+1
-
- $unset (Ô×ÓÃüÁî)
- * Óû§É¾³ýÖ¸¶¨µÄ×Ö¶Î
- db.user.update({_id: ObjectId("5eba69c51e2bb3537a710e0b")}, {$unset: {age: 1}}) // ɾ³ýage×Ö¶Î
- $push
- * Ìí¼ÓÒ»¸öÔªËص½Êý×éβ²¿
- * Èç¹ûfield²»´æÔÚ£¬»á×Ô¶¯²åÈëÒ»¸öÊý×éÀàÐÍ
- db.user.update({_id: ObjectId("5eba69c51e2bb3537a710e0b")}, {$push: {skills: "ruby"}}) // Ìí¼Ó ruby µ½¶ÔÏóµÄ skills ¼¯ºÏÖÐ
- * ÔªËØ¿ÉÒÔÊÇÈÎÒâÊý¾ÝÀàÐÍ
- $pushAll
- * Ìí¼Ó¶à¸ö¶ÔÏóµ½Êý×éβ²¿
- * ²ÎÊýÊÇÒ»¸öÊý×é
-
- $pop
- * ´ÓÊý×éÖÐɾ³ýÔªËØ
- db.user.update({_id: ObjectId("5eba69c51e2bb3537a710e0b")}, {$pop: {skills: -1}}); // ɾ³ý skills ÖеĵÚÒ»¸öÖµ
- * ɾ³ýλÖõÄÖµ
- -1: µÚÒ»¸ö
- 1: ×îºóÒ»¸ö
- $pull (Ô×ÓÃüÁî)
- * ´ÓÊý×éɾ³ýµÚÒ»¸öÆ¥Åäµ½µÄÖµ
- db.user.update({_id: ObjectId("5eba69c51e2bb3537a710e0b")}, {$pull: {skills: "java"}}); // ɾ³ý skills ÖÐµÄ java ÔªËØ
- $pullAll (Ô×ÓÃüÁî)
- * ´ÓÊý×éɾ³ý¶à¸öÆ¥Åäµ½µÄÖµ
- db.user.update({_id: ObjectId("5eba69c51e2bb3537a710e0b")}, {$pull: {skills: ["java", "python"]}}); // ɾ³ý skills ÖÐµÄ java, python ÔªËØ
- $addToSet (Ô×ÓÃüÁî)
- * ¼ÓÒ»¸öÖµµ½Êý×éÄÚ£¬¶øÇÒÖ»Óе±Õâ¸öÖµÔÚÊý×éÖв»´æÔÚʱ²ÅÔö¼Ó
- * Èç¹û²ÎÊýÊǶÔÏó, »òÕßÊý×é, ÄÇô»á½øÐÐÉî±È½Ï
-
- $rename (Ô×ÓÃüÁî)
- * ¶Ô×ֶνøÐÐÖØÃüÃû
- db.user.update({_id: ObjectId("5eba69c51e2bb3537a710e0b")}, {$pull: {skills: "_skills"}}); // °Ñ skills ÊôÐÔÐÞ¸ÄΪ _skills
-
- $bit (Ô×ÓÃüÁî)
- * λ²Ù×÷£¬integerÀàÐÍ
- db.user.update({_id: ObjectId("5eba69c51e2bb3537a710e0b")}, {$bit: {val: {and: NumberInt(5)}}}); // UPDATE `val` SET `val` = (`val` and 5)
-
- * λÒƲÙ×÷:and,or,not.....