MongoDB command line !!

(1) explore mongo shell

mongod 

another terminal: mongo

>db

>use learning_mongo  // use learning_mongo as db

>show dbs

>db.cars.insert({"make": "subaru"})  // cars is collection, {"make":"subaru"} is document

> show collections 

cars

> for (i=0; i<10000;i++) {

db.numbers.insert({"number":i})

}

>db.numbers.count()

>db.numbers.find({"number":1)

>db.numbers.find({"number":1).explain()

>db.numbers.find({"number":1).explain("executionStats")

>db.numbers.createIndex({number:1})

https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/

A document that contains the field and value pairs where the field is the index key and the value describes the type of index for that field. For an ascending index on a field, specify a value of 1; for descending index, specify a value of -1.

>db.numbers.find({"number":1).explain("executionStats")

import data into mongodb

ctrl + c to quit

>mongoimport --help

navigate to the file folder

namespace options : database and collection

--file --jsonArray

> mongoimport --db learning_mongo --collection tours --jsonArray --file tours.json

>use learning_mongo

>show collections

>db.tours.count()

>db.tours.find({"tourTags": "hiking"})

CRUD

>use learning_mongo

>db.tours.find("tourTags":"wine"})

>db.tours.insert({

"tourName":"The Wines of Santa Cruz",

"tourLenght":3,

"tourDescription":"Discover Santa Cruz's wineries",

"tourTags": ["wine, "Santa Cruz"]

})

>db.tours.update({"tourName": "The Wines of Santa Cruz"}, 

{$set: {"tourTegion": "Central Coast"}})

>db.tours.update({"tourName":"The Wines of Santa Cruz", 

{$addToSet: {"tourTags": 'boardwalk"}})

>db.tours.remove({"tourName":"The Wines of Santa Cruz"})

>db.tours.drop() //remove collection tour

>mongoimport --db learning_mongo --collection tours --jsonArray --file tours.json

>mongo

>use learning_mongo

>db.tours.find({"tourPackage":"Taste of California"}).explain("executionStats")

"totalDocsExamined":29

>db.tours.createIndex({tourPackage:1})

>db.tours.find({"tourPackage":"Taste of California"}).explain("executionStats")

"totalDocsExamined": 4

>db.tours.find(

{"tourPrice": {$lte:500},

"tourLength":{$lte:3}})

>db.tours.createIndex({tourPrice:1, tourlength:1})

>db.tours.createIndex({tourDescription: "text", tourBlurb:"text"})

https://mongodb.github.io/node-mongodb-native/3.2/tutorials/create-indexes/

>db.tours.find({$text: {$search:"wine"}})

https://docs.mongodb.com/manual/reference/method/db.collection.find/#db.collection.find

{
  $text:
    {
      $search: <string>,
      $language: <string>,
      $caseSensitive: <boolean>,
      $diacriticSensitive: <boolean>
    }
}

https://docs.mongodb.com/manual/reference/operator/query/text/#op._S_text

sort by tourPrice

>db.tours.find({}. {tourName:1, _id:0}).pretty().sort({tourPrice:-1}).skip(20).limit(1)

sort by textScore

>db.tours.find({$text:{$search:"wine"}}, {score: {$meta:"textScore"}}).pretty().sort({score:{$meta: "textScore"}})

https://docs.mongodb.com/manual/reference/method/cursor.sort/#sort-metadata

https://docs.mongodb.com/manual/reference/operator/projection/meta/#proj._S_meta

https://docs.mongodb.com/manual/reference/method/db.collection.find/#find-projection

 >db.tours.find({$text:{$search:"wine"}}, {score:{$meta:"textScore"}, tourName:1, _id:0}).sort({score:{$meta:"textScore"}})

regex

> db.tours.find({tourDescription:{$regex:/backpack/i}}, {tourName:1,_id:0})

>db.tours.find({tourDescription:/backpack/i}, {tourName:1,_id:0})

Model your schema

 

Aggregation

>db.tours.count({tourPackage:"Cycle California"})

>db.tours.aggregate([{$group: {_id: '$tourPackage', count: {$sum:1}}}])

>db.tours.aggregate([{$group: {_id:'$tourPackage', average: {$avg: '$tourPrice'}, count:{$sum:1} } }])

猜你喜欢

转载自blog.csdn.net/qq_33471057/article/details/92815912