mongodb命令基础知识点
1、進入bin目錄
D:\>cd D:\MongoDB\Server\3.4\binD:\MongoDB\Server\3.4\bin>mongod --config "D:\MongoDB\Server\3.4\mongo.config" --install --serviceName "MongoDB" 2019-09-04T11:30:58.433+0800 I CONTROL [main] log file "D:\MongoDB\Server\3.4\data\log\mongo.log" exists; moved to "D:\MongoDB\Server\3.4\data\log\mongo.log.2019-09-04T03-30-58".2、命令行啟動mongo
D:\MongoDB\Server\3.4\bin>mongo MongoDB shell version v3.4.16-41-g83c3022fe4 connecting to: mongodb://127.0.0.1:27017 2019-09-04T11:33:05.665+0800 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017 after 5000ms milliseconds, giving up. 2019-09-04T11:33:05.665+0800 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed : connect@src/mongo/shell/mongo.js:240:13 @(connect):1:6 exception: connect failedD:\MongoDB\Server\3.4\bin>mongo MongoDB shell version v3.4.16-41-g83c3022fe4 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.16-41-g83c3022fe4 Server has startup warnings: 2019-09-03T20:34:03.839-0700 I CONTROL [initandlisten] 2019-09-03T20:34:03.839-0700 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2019-09-03T20:34:03.840-0700 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2019-09-03T20:34:03.840-0700 I CONTROL [initandlisten]3、進入tzl數據庫
> use tzl switched to db tzl
4、顯示數據庫
5、向tzl數據表中插入一條數據
> db.tzl.insert({'name':'liyisong'}) WriteResult({ "nInserted" : 1 }) > show dbs admin 0.000GB local 0.000GB lys 0.000GB newtestdb 0.000GB test 0.000GB tzl 0.000GB > use tzl switched to db tzl6、刪除該數據庫
> db.dropDatabase() { "dropped" : "tzl", "ok" : 1 } > show dbs admin 0.000GB local 0.000GB lys 0.000GB newtestdb 0.000GB test 0.000GB > use lll switched to db lll > show dbs admin 0.000GB local 0.000GB lys 0.000GB newtestdb 0.000GB test 0.000GB > use student switched to db student > use taoche switched to db taoche > use student switched to db student > gb 2019-09-04T14:23:14.076+0800 E QUERY [thread1] ReferenceError: gb is not defined : @(shell):1:17、db顯示在哪個數據庫
> dbstudent> db.lys.insert({'name:'liyisong'})2019-09-04T14:24:14.901+0800 E QUERY [thread1] SyntaxError: missing : after property id @(shell):1:22> db.lys.insert({'name:'liyisong'})2019-09-04T14:24:55.152+0800 E QUERY [thread1] SyntaxError: missing : after property id @(shell):1:22> use studentswitched to db student> db.lys.insert({'name':'liyisong'})WriteResult({ "nInserted" : 1 })8、show collections查詢數據表
> show collections lys > db.lys.insert({'name':'tzl'}) WriteResult({ "nInserted" : 1 }) > db.lys.insert({'name':'tzl'}) WriteResult({ "nInserted" : 1 })9、db.數據表.drop()刪除該數據表
> db.lys.drop() true > show collections > db.lys.insert({'name':'lys','age':18,'sex':1}) WriteResult({ "nInserted" : 1 }) > db.lys.insert({'name':'wtt','age':18,'sex':1}) WriteResult({ "nInserted" : 1 }) > db.lys.insert({'name':'ljj','age':18,'sex':1}) WriteResult({ "nInserted" : 1 }) > db.lys.insert({'name':'czh','age':18,'sex':1}) WriteResult({ "nInserted" : 1 }) > db.lys.insert({'name':'czh','age':19,'sex':1}) WriteResult({ "nInserted" : 1 }) > db.lys.insert({'name':'wtt','age':17,'sex':1}) WriteResult({ "nInserted" : 1 }) > db.lys.insert({'name':'syj','age':17,'sex':2}) WriteResult({ "nInserted" : 1 }) > db.lys.insert({'name':'dss','age':18,'sex':2}) WriteResult({ "nInserted" : 1 })10、db.數據表.find()查找該數據表內所有內容
> db.lys.find() { "_id" : ObjectId("5d6f5b03ae8dbac5ec948bbb"), "name" : "lys", "age" : 18, "sex" : 1 } { "_id" : ObjectId("5d6f5b14ae8dbac5ec948bbc"), "name" : "wtt", "age" : 18, "sex" : 1 } { "_id" : ObjectId("5d6f5b1cae8dbac5ec948bbd"), "name" : "ljj", "age" : 18, "sex" : 1 } { "_id" : ObjectId("5d6f5b23ae8dbac5ec948bbe"), "name" : "czh", "age" : 18, "sex" : 1 } { "_id" : ObjectId("5d6f5b36ae8dbac5ec948bbf"), "name" : "czh", "age" : 19, "sex" : 1 } { "_id" : ObjectId("5d6f5b41ae8dbac5ec948bc0"), "name" : "wtt", "age" : 17, "sex" : 1 } { "_id" : ObjectId("5d6f5b50ae8dbac5ec948bc1"), "name" : "syj", "age" : 17, "sex" : 2 } { "_id" : ObjectId("5d6f5b62ae8dbac5ec948bc2"), "name" : "dss", "age" : 18, "sex" : 2 }11、db.數據表.update({查找內容},{$set:{修改更新內容}}),修改更新數據表
> db.lys.update({'age':18},{$set:{'age':20}) ... ... ^C> db.lys.update({'age':18},{$set:{'age':20}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.lys.find() { "_id" : ObjectId("5d6f5b03ae8dbac5ec948bbb"), "name" : "lys", "age" : 20, "sex" : 1 } { "_id" : ObjectId("5d6f5b14ae8dbac5ec948bbc"), "name" : "wtt", "age" : 18, "sex" : 1 } { "_id" : ObjectId("5d6f5b1cae8dbac5ec948bbd"), "name" : "ljj", "age" : 18, "sex" : 1 } { "_id" : ObjectId("5d6f5b23ae8dbac5ec948bbe"), "name" : "czh", "age" : 18, "sex" : 1 } { "_id" : ObjectId("5d6f5b36ae8dbac5ec948bbf"), "name" : "czh", "age" : 19, "sex" : 1 } { "_id" : ObjectId("5d6f5b41ae8dbac5ec948bc0"), "name" : "wtt", "age" : 17, "sex" : 1 } { "_id" : ObjectId("5d6f5b50ae8dbac5ec948bc1"), "name" : "syj", "age" : 17, "sex" : 2 } { "_id" : ObjectId("5d6f5b62ae8dbac5ec948bc2"), "name" : "dss", "age" : 18, "sex" : 2 }12、db.lys.find().pretty()查找所有內容并按json格式顯示
> db.lys.find().pretty() {"_id" : ObjectId("5d6f5b03ae8dbac5ec948bbb"),"name" : "lys","age" : 20,"sex" : 1 } {"_id" : ObjectId("5d6f5b14ae8dbac5ec948bbc"),"name" : "wtt","age" : 18,"sex" : 1 } {"_id" : ObjectId("5d6f5b1cae8dbac5ec948bbd"),"name" : "ljj","age" : 18,"sex" : 1 } {"_id" : ObjectId("5d6f5b23ae8dbac5ec948bbe"),"name" : "czh","age" : 18,"sex" : 1 } {"_id" : ObjectId("5d6f5b36ae8dbac5ec948bbf"),"name" : "czh","age" : 19,"sex" : 1 } {"_id" : ObjectId("5d6f5b41ae8dbac5ec948bc0"),"name" : "wtt","age" : 17,"sex" : 1 } {"_id" : ObjectId("5d6f5b50ae8dbac5ec948bc1"),"name" : "syj","age" : 17,"sex" : 2 } {"_id" : ObjectId("5d6f5b62ae8dbac5ec948bc2"),"name" : "dss","age" : 18,"sex" : 2 } > db.lys.update({'age':18},{$set:{'age':21}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.lys.update({'age':18},{$set:{'age':22}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.lys.update({'age':{$gt:21},{$set:{'sex':0}}) ... ^C13、gt大于,db.數據表.update({字段:{KaTeX parse error: Expected 'EOF', got '}' at position 5: gt:值}?},{set:修改內容})
> db.lys.update({'age':{$gt:21}},{$set:{'sex':0}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })14、第一個false表示如果沒有查找的內容不添加,第二個true表示修改所有查詢到的內容
> db.lys.update({'age':{$gt:19}},{$set:{'sex':0}},false,true) WriteResult({ "nMatched" : 3, "nUpserted" : 0, "nModified" : 2 }) > db.lys.update({'sex':{$gt:1}},{$set:{'sex':1}},false,true) WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 }) > db student > db.lys.update({'age':{$gt:21}},{$set:{'name':'lys'}},true,true) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.lys.update({'name':'liyisong'}},{$set:{'age':18,'sex':1}},true,true) 2019-09-04T15:35:11.337+0800 E QUERY [thread1] SyntaxError: missing ) after argument list @(shell):1:3315、db.數據表.update({查找內容},{$set:{修改內容}},若沒有查找的內容是否添加,是否替換所有查找到的內容。
> db.lys.update({'name':'liyisong'},{$set:{'age':18,'sex':1}},true,true) WriteResult({"nMatched" : 0,"nUpserted" : 1,"nModified" : 0,"_id" : ObjectId("5d6f6941d3c9d6f9a72d777d") }) > db.lys.update({'age':{$gt:24}},{$set:{'name':'lys','sex':1}},true,true) WriteResult({"nMatched" : 0,"nUpserted" : 1,"nModified" : 0,"_id" : ObjectId("5d6f6a46d3c9d6f9a72d77fd") })16.db.數據表.remove(查找內容)刪除數據表中含有查找內容的數據
> db.lys.remove({'name','ljj'})2019-09-04T15:57:09.767+0800 E QUERY [thread1] SyntaxError: missing : after property id @(shell):1:21> db.lys.remove({'name':'ljj'})WriteResult({ "nRemoved" : 0 })> db.lys.remove({'name':'lys'})WriteResult({ "nRemoved" : 3 })17、db.數據表.remove({})刪除該數據表的所有內容
> db.lys.remove({})WriteResult({ "nRemoved" : 7 })> db.lys.insert({'name':'lys','class':'aaa','age':20,'money':180000000000})WriteResult({ "nInserted" : 1 })> db.lys.insert({'name':'tzl','class':'aaa','age':20,'money':180000000000})WriteResult({ "nInserted" : 1 })> db.lys.insert({'name':'lys','class':'ccc','age':20,'money':180000000000})WriteResult({ "nInserted" : 1 })> db.lys.insert({'name':'lys','class':'ccc','age':18,'money':180000000000})WriteResult({ "nInserted" : 1 })> db.lys.insert({'name':'wtt','class':'ccc','age':19,'money':180000000000})WriteResult({ "nInserted" : 1 })> db.lys.insert({'name':'syj','class':'ccc','age':19,'money':90000000000})WriteResult({ "nInserted" : 1 })> db.lys.insert({'name':'syj','class':'fff','age':17,'money':120000000000})WriteResult({ "nInserted" : 1 })> db.find({$or:[{'class':'fff'},{'class':'aaa'}]})2019-09-04T16:16:42.157+0800 E QUERY [thread1] TypeError: db.find is not a function :@(shell):1:118、db.數據表.find({$or:查找內容1,查找內容2]})查找數據表中包含內容1或內容2的內容。
> db.lys.find({$or:[{'class':'fff'},{'class':'aaa'}]}) { "_id" : ObjectId("5d6f7100ae8dbac5ec948bc3"), "name" : "lys", "class" : "aaa", "age" : 20, "money" : 180000000000 } { "_id" : ObjectId("5d6f7109ae8dbac5ec948bc4"), "name" : "tzl", "class" : "aaa", "age" : 20, "money" : 180000000000 } { "_id" : ObjectId("5d6f7291ae8dbac5ec948bc9"), "name" : "syj", "class" : "fff", "age" : 17, "money" : 120000000000 } > db.lys.find({$and:[{'class':'fff'},{'name':'lys'}]}) > db.lys.find({$and:[{'class':'ccc'},{'name':'lys'}]}) { "_id" : ObjectId("5d6f711aae8dbac5ec948bc5"), "name" : "lys", "class" : "ccc", "age" : 20, "money" : 180000000000 } { "_id" : ObjectId("5d6f7129ae8dbac5ec948bc6"), "name" : "lys", "class" : "ccc", "age" : 18, "money" : 180000000000 } > db.lys.find({$and:[{$or:[{'class':'ccc'},{'class':'aaa'}],{$gt:{'money':180000000000}}]}) ... ^C> db.lys.find({$and:[{$or:[{'class':'ccc'},{'class':'aaa'}]},{'money':{$gte:18000000000}}]} ... ^C> db.lys.find({$or:[{'class':'ccc'},{'class':'aaa'}]},'money':{$gte:1800000000}) 2019-09-04T16:32:43.895+0800 E QUERY [thread1] SyntaxError: missing ) after argument list @(shell):1:59 > db.lys.find({$or:[{'class':'ccc'},{'class':'aaa'}]},{'money':{$gte:1800000000}}) Error: error: {"ok" : 0,"errmsg" : "Unsupported projection option: money: { $gte: 1800000000.0 }","code" : 2,"codeName" : "BadValue" } > db.lys.find({{$or:[{'class':'ccc'},{'class':'aaa'}]},'money':{$gte:1800000000}}) 2019-09-04T16:35:33.690+0800 E QUERY [thread1] SyntaxError: invalid property id @(shell):1:13 > db.lys.find('money':{$gte:1800000000},$or:[{'class':'aaa'},{'class':'ccc'}]}) 2019-09-04T16:37:39.763+0800 E QUERY [thread1] SyntaxError: missing ) after argument list @(shell):1:19 > db.lys.find('money':{$gte:1800000000},{$or:[{'class':'aaa'},{'class':'ccc'}]}}) 2019-09-04T16:40:26.751+0800 E QUERY [thread1] SyntaxError: missing ) after argument list @(shell):1:19 > db.lys.find({'money':{$gte:1800000000}},{$or:[{'class':'aaa'},{'class':'ccc'}]}}) 2019-09-04T16:40:37.605+0800 E QUERY [thread1] SyntaxError: missing ) after argument list @(shell):1:7919、db.lys.find({‘money’:{KaTeX parse error: Expected 'EOF', got '}' at position 15: gte:1800000000}?,or:[{‘class’:’aaa’},{‘class’:’ccc’}]})查找lys表中money大于或等于1800000000并且class是aaa或ccc的內容。
> db.lys.find({'money':{$gte:1800000000},$or:[{'class':'aaa'},{'class':'ccc'}]}) { "_id" : ObjectId("5d6f7100ae8dbac5ec948bc3"), "name" : "lys", "class" : "aaa", "age" : 20, "money" : 180000000000 } { "_id" : ObjectId("5d6f7109ae8dbac5ec948bc4"), "name" : "tzl", "class" : "aaa", "age" : 20, "money" : 180000000000 } { "_id" : ObjectId("5d6f711aae8dbac5ec948bc5"), "name" : "lys", "class" : "ccc", "age" : 20, "money" : 180000000000 } { "_id" : ObjectId("5d6f7129ae8dbac5ec948bc6"), "name" : "lys", "class" : "ccc", "age" : 18, "money" : 180000000000 } { "_id" : ObjectId("5d6f713aae8dbac5ec948bc7"), "name" : "wtt", "class" : "ccc", "age" : 19, "money" : 180000000000 } { "_id" : ObjectId("5d6f7190ae8dbac5ec948bc8"), "name" : "syj", "class" : "ccc", "age" : 19, "money" : 90000000000 } > db.lys.find({'money':{$gte:1800000000},$or:[{'class':'aaa'},{'class':'ccc'}]}).{'id':1,'mooney':1}.pretty() 2019-09-04T16:44:43.868+0800 E QUERY [thread1] SyntaxError: missing name after . operator @(shell):1:79 > db.lys.find({'money':{$gte:1800000000},$or:[{'class':'aaa'},{'class':'ccc'}]}.{'id':1,'mooney':1}).pretty() 2019-09-04T16:45:12.369+0800 E QUERY [thread1] SyntaxError: missing name after . operator @(shell):1:78 > db.lys.find({'money':{$gte:1800000000},$or:[{'class':'aaa'},{'class':'ccc'}]}.{'id':1,'money':1}).pretty() 2019-09-04T16:45:21.992+0800 E QUERY [thread1] SyntaxError: missing name after . operator @(shell):1:78 > db.lys.find({'money':{$gte:1800000000},$or:[{'class':'aaa'},{'class':'ccc'}]}) { "_id" : ObjectId("5d6f7100ae8dbac5ec948bc3"), "name" : "lys", "class" : "aaa", "age" : 20, "money" : 180000000000 } { "_id" : ObjectId("5d6f7109ae8dbac5ec948bc4"), "name" : "tzl", "class" : "aaa", "age" : 20, "money" : 180000000000 } { "_id" : ObjectId("5d6f711aae8dbac5ec948bc5"), "name" : "lys", "class" : "ccc", "age" : 20, "money" : 180000000000 } { "_id" : ObjectId("5d6f7129ae8dbac5ec948bc6"), "name" : "lys", "class" : "ccc", "age" : 18, "money" : 180000000000 } { "_id" : ObjectId("5d6f713aae8dbac5ec948bc7"), "name" : "wtt", "class" : "ccc", "age" : 19, "money" : 180000000000 } { "_id" : ObjectId("5d6f7190ae8dbac5ec948bc8"), "name" : "syj", "class" : "ccc", "age" : 19, "money" : 90000000000 }20、db.數據表.find({money:{KaTeX parse error: Expected 'EOF', got '}' at position 15: gte:1800000000}?,or:[{‘class’:’aaa’},{‘class’:’ccc’}]},
{‘id’:1,’money’:1}).pretty())查詢出的內容將顯示id和money字段;id=0不顯示;id=1顯示;其他字段=1顯示,不能寫=0,不顯示就不寫。 > db.lys.find({'money':{$gte:1800000000},$or:[{'class':'aaa'},{'class':'ccc'}]},{'id':1,'money':1}).pretty()) { "_id" : ObjectId("5d6f7100ae8dbac5ec948bc3"), "money" : 180000000000 } { "_id" : ObjectId("5d6f7109ae8dbac5ec948bc4"), "money" : 180000000000 } { "_id" : ObjectId("5d6f711aae8dbac5ec948bc5"), "money" : 180000000000 } { "_id" : ObjectId("5d6f7129ae8dbac5ec948bc6"), "money" : 180000000000 } { "_id" : ObjectId("5d6f713aae8dbac5ec948bc7"), "money" : 180000000000 } { "_id" : ObjectId("5d6f7190ae8dbac5ec948bc8"), "money" : 90000000000 } 21、db.數據表.find({},查找內容).limit(2)將含有該內容的數據的前兩個顯示出來 > db.lys.find({},{'name':1}).limit(2) { "_id" : ObjectId("5d6f7100ae8dbac5ec948bc3"), "name" : "lys" } { "_id" : ObjectId("5d6f7109ae8dbac5ec948bc4"), "name" : "tzl" } > db.lys.find({},{'name':1}).limit(2).skip(2) ... ^C22、db.數據表.find({},內容).limit(2).skip(2)#跳過前兩條數據,顯示后面的兩條數據
> db.lys.find({},{'name':1}).limit(2).skip(2) { "_id" : ObjectId("5d6f711aae8dbac5ec948bc5"), "name" : "lys" } { "_id" : ObjectId("5d6f7129ae8dbac5ec948bc6"), "name" : "lys" } > db.lys.find({},{'name':1,'age':1}).sort('age',-1) Error: error: {"ok" : 0,"errmsg" : "Failed to parse: sort: \"age\". 'sort' field must be of BSON type object.","code" : 9,"codeName" : "FailedToParse" } > db.lys.find({},{'name':1,'age':1}).sort('age':-1) 2019-09-04T17:12:22.628+0800 E QUERY [thread1] SyntaxError: missing ) after argument list @(shell):1:4523、db.lys.find({},查找內容).sort({‘age’:-1})按照age倒序排序,-1倒序,1正序
> db.lys.find({},{'name':1,'age':1}).sort({'age':-1}) { "_id" : ObjectId("5d6f7100ae8dbac5ec948bc3"), "name" : "lys", "age" : 20 } { "_id" : ObjectId("5d6f7109ae8dbac5ec948bc4"), "name" : "tzl", "age" : 20 } { "_id" : ObjectId("5d6f711aae8dbac5ec948bc5"), "name" : "lys", "age" : 20 } { "_id" : ObjectId("5d6f713aae8dbac5ec948bc7"), "name" : "wtt", "age" : 19 } { "_id" : ObjectId("5d6f7190ae8dbac5ec948bc8"), "name" : "syj", "age" : 19 } { "_id" : ObjectId("5d6f7129ae8dbac5ec948bc6"), "name" : "lys", "age" : 18 } { "_id" : ObjectId("5d6f7291ae8dbac5ec948bc9"), "name" : "syj", "age" : 17 } > db.lys.find({},{'name':1,'age':1}).sort({'age':-1}) { "_id" : ObjectId("5d6f7100ae8dbac5ec948bc3"), "name" : "lys", "age" : 20 } { "_id" : ObjectId("5d6f7109ae8dbac5ec948bc4"), "name" : "tzl", "age" : 20 } { "_id" : ObjectId("5d6f711aae8dbac5ec948bc5"), "name" : "lys", "age" : 20 } { "_id" : ObjectId("5d6f713aae8dbac5ec948bc7"), "name" : "wtt", "age" : 19 } { "_id" : ObjectId("5d6f7190ae8dbac5ec948bc8"), "name" : "syj", "age" : 19 } { "_id" : ObjectId("5d6f7129ae8dbac5ec948bc6"), "name" : "lys", "age" : 18 } { "_id" : ObjectId("5d6f7291ae8dbac5ec948bc9"), "name" : "syj", "age" : 17 }24、db.lys.count()顯示數據表中的數據數量
> db.lys.count() 7 > db.lys.aggregate([{$group:{_id:'class',num:{$sum:"money"}}}]) { "_id" : "class", "num" : 0 } > db.lys.aggregate([{$group:{_id:'class',num:{$avg:"money"}}}]) { "_id" : "class", "num" : null } > db.lys.find({}) { "_id" : ObjectId("5d6f7100ae8dbac5ec948bc3"), "name" : "lys", "class" : "aaa", "age" : 20, "money" : 180000000000 } { "_id" : ObjectId("5d6f7109ae8dbac5ec948bc4"), "name" : "tzl", "class" : "aaa", "age" : 20, "money" : 180000000000 } { "_id" : ObjectId("5d6f711aae8dbac5ec948bc5"), "name" : "lys", "class" : "ccc", "age" : 20, "money" : 180000000000 } { "_id" : ObjectId("5d6f7129ae8dbac5ec948bc6"), "name" : "lys", "class" : "ccc", "age" : 18, "money" : 180000000000 } { "_id" : ObjectId("5d6f713aae8dbac5ec948bc7"), "name" : "wtt", "class" : "ccc", "age" : 19, "money" : 180000000000 } { "_id" : ObjectId("5d6f7190ae8dbac5ec948bc8"), "name" : "syj", "class" : "ccc", "age" : 19, "money" : 90000000000 } { "_id" : ObjectId("5d6f7291ae8dbac5ec948bc9"), "name" : "syj", "class" : "fff", "age" : 17, "money" : 120000000000 } > db.lys.aggregate([{$group:{_id:'class',num:{$avg:"money"}}}]) { "_id" : "class", "num" : null } > db.lys.aggregate([{$group:{_id:'class',num:{$sum:'money'}}}]) { "_id" : "class", "num" : 0 } > db.lys.aggregate([{$group:{_id:"class",num:{$sum:"money"}}}]) { "_id" : "class", "num" : 0 }25、db.數據表.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: group:{_id:”class”,num:{$sum:”money”}}}])
> db.lys.aggregate([{$group:{_id:"$class",num:{$sum:"$money"}}}]) { "_id" : "ccc", "num" : 630000000000 } { "_id" : "fff", "num" : 120000000000 } { "_id" : "aaa", "num" : 360000000000 } > a^C byeD:\MongoDB\Server\3.4\bin>總結
以上是生活随笔為你收集整理的mongodb命令基础知识点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 爬虫多线程生产者与消费者
- 下一篇: python连接mongo数据库