当前位置:Gxlcms > 数据库问题 > mongodb 入门

mongodb 入门

时间:2021-07-01 10:21:17 帮助过:4人阅读

登录 D:\mongodb>D:\mongodb\mongodb206\mongodb206\bin\mongo 127.0.0.1:27017/admin MongoDB shell version: 2.0.6 connecting to: 127.0.0.1:27017/admin //在缓存中创建一个数据库 > use foobar switched to db foobar > db.persons.insert(name:"tomcat") //插入数据后数据库会真正创建 Sat Jun 03 15:22:26 SyntaxError: missing ) after argument list (shell):1 > db.persons.insert((name:"tomcat")) Sat Jun 03 15:22:41 SyntaxError: missing ) in parenthetical (shell):1 > db.persons.insert({name:"tomcat"}) > show dbs; //显示所有的数据 foobar 0.03125GB local (empty)//默认建立的 > show collections //显示数据库下面的表 persons system.indexes > db.system.indexes.fin() Sat Jun 03 15:24:23 TypeError: db.system.indexes.fin is not a function (shell):1 > db.system.indexes.find(); //查询语句 { "v" : 1, "key" : { "_id" : 1 }, "ns" : "foobar.persons", "name" : "_id_" } > db.foobar.find(); > db.person.find(); > db.persons.find();//查询所有 { "_id" : ObjectId("593263d9622897d4e7c9b220"), "name" : "tomcat" } > db.persons.findone(); //查询第一条 Sat Jun 03 15:27:20 TypeError: db.persons.findone is not a function (shell):1 > db.persons.insert({name:"extjs"})//新增数据 > db.persons.find(); { "_id" : ObjectId("593263d9622897d4e7c9b220"), "name" : "tomcat" } { "_id" : ObjectId("593264f2622897d4e7c9b221"), "name" : "extjs" } //更新数据,第一个参数是选择器,第二个是要更新的数据 > db.persons.update({name:"extjs"},{$set:{name:"extjs4.0"}}); > db.persons.find(); { "_id" : ObjectId("593263d9622897d4e7c9b220"), "name" : "tomcat" } { "_id" : ObjectId("593264f2622897d4e7c9b221"), "name" : "extjs4.0" } > var p = db.persons.findOne(); //定义变量 > p //查看 { "_id" : ObjectId("593263d9622897d4e7c9b220"), "name" : "tomcat" } > db.persons.update(p,{$set:{name:"tomcat8"}}); > db.persons.find(); //查找 { "_id" : ObjectId("593263d9622897d4e7c9b220"), "name" : "tomcat8" } { "_id" : ObjectId("593264f2622897d4e7c9b221"), "name" : "extjs4.0" } > p { "_id" : ObjectId("593263d9622897d4e7c9b220"), "name" : "tomcat" } > var p = db.persons.findOne(); > db.persons.update(p,{$set:{name:"tomcat8",age=1}}); Sat Jun 03 15:40:08 SyntaxError: missing : after property id (shell):1 > db.persons.update(p,{$set:{name:"tomcat8",age="1"}}); Sat Jun 03 15:40:22 SyntaxError: missing : after property id (shell):1 > db.persons.update(p,{$set:{name:"tomcat8",age:"1"}}); //删除操作表 > db.persons.remove({age:"1"}) > db.persons.find() { "_id" : ObjectId("593264f2622897d4e7c9b221"), "name" : "extjs4.0" } > show collections persons system.indexes //删除当前数据库 > db.dropDatabases() Sat Jun 03 15:47:16 TypeError: db.dropDatabases is not a function (shell):1 > show dbs //显示所有的数据库 foobar 0.03125GB local (empty) > db.dropDatabase() { "dropped" : "foobar", "ok" : 1 } > show dbs; local (empty) > use foobar switched to db foobar > db.persons.insert({age:1,name:"tom",gender:"1"}) > db.persons.find(); { "_id" : ObjectId("593269f2622897d4e7c9b222"), "age" : 1, "name" : "tom", "gend er" : "1" } > show dbs; foobar 0.03125GB local (empty) > show collections; persons system.indexes > db.help() //帮助 DB methods: db.addUser(username, password[, readOnly=false]) db.auth(username, password) db.cloneDatabase(fromhost) db.commandHelp(name) returns the help for the command db.copyDatabase(fromdb, todb, fromhost) db.createCollection(name, { size : ..., capped : ..., max : ... } ) db.currentOp() displays the current operation in the db db.dropDatabase() db.eval(func, args) run code server-side db.getCollection(cname) same as db[cname] or db.cname db.getCollectionNames() db.getLastError() - just returns the err msg string db.getLastErrorObj() - return full status object db.getMongo() get the server connection object db.getMongo().setSlaveOk() allow this connection to read from the nonmas ter member of a replica pair db.getName() db.getPrevError() db.getProfilingLevel() - deprecated db.getProfilingStatus() - returns if profiling is on and slow threshold db.getReplicationInfo() db.getSiblingDB(name) get the db at the same server as this one db.isMaster() check replica primary status db.killOp(opid) kills the current operation in the db db.listCommands() lists all the db commands db.logout() db.printCollectionStats() db.printReplicationInfo() db.printSlaveReplicationInfo() db.printShardingStatus() db.removeUser(username) db.repairDatabase() db.resetError() db.runCommand(cmdObj) run a database command. if cmdObj is a string, tu rns it into { cmdObj : 1 } db.serverStatus() db.setProfilingLevel(level,<slowms>) 0=off 1=slow 2=all db.shutdownServer() db.stats() db.version() current version of the server db.getMongo().setSlaveOk() allow queries on a replication slave server db.fsyncLock() flush data to disk and lock server for backups db.fsyncUnock() unlocks server following a db.fsyncLock() > db.dbgetName() Sat Jun 03 16:03:03 TypeError: db.dbgetName is not a function (shell):1 > db.dbgetName() Sat Jun 03 16:03:11 TypeError: db.dbgetName is not a function (shell):1 > db.getName()//获取当前是数据库名字 foobar > db.getstatus foobar.getstatus > db.status() Sat Jun 03 16:03:39 TypeError: db.status is not a function (shell):1 > db.stats() //获取当前数据库的信息 { "db" : "foobar", "collections" : 3, "objects" : 5, "avgObjSize" : 48.8, "dataSize" : 244, "storageSize" : 12288, "numExtents" : 3, "indexes" : 1, "indexSize" : 8176, "fileSize" : 16777216, "nsSizeMB" : 16, "ok" : 1 } > db.persons.count() 1 > db.person.help();//帮助 DBCollection help db.person.find().help() - show DBCursor help db.person.count() db.person.dataSize() db.person.distinct( key ) - eg. db.person.distinct( x ) db.person.drop() drop the collection db.person.dropIndex(name) db.person.dropIndexes() db.person.ensureIndex(keypattern[,options]) - options is an object with these possible fields: name, unique, dropDups db.person.reIndex() db.person.find([query],[fields]) - query is an optional query filter. fi elds is optional set of fields to return. e.g. db.person.find( {x:77 } , {name:1, x:1} ) db.person.find(...).count() db.person.find(...).limit(n) db.person.find(...).skip(n) db.person.find(...).sort(...) db.person.findOne([query]) db.person.findAndModify( { update : ... , remove : bool [, query: {}, so rt: {}, new: false] } ) db.person.getDB() get DB object associated with collection db.person.getIndexes() db.person.group( { key : ..., initial: ..., reduce : ...[, cond: ...] } ) db.person.mapReduce( mapFunction , reduceFunction , <optional params> ) db.person.remove(query) db.person.renameCollection( newName , <dropTarget> ) renames the collect ion. db.person.runCommand( name , <options> ) runs a db command with the give n name where the first param is the collection name db.person.save(obj) db.person.stats() db.person.storageSize() - includes free space allocated to this collecti on db.person.totalIndexSize() - size in bytes of all the indexes db.person.totalSize() - storage allocated for all data and indexes db.person.update(query, object[, upsert_bool, multi_bool]) db.person.validate( <full> ) - SLOW db.person.getShardVersion() - only for use with sharding db.person.getShardDistribution() - prints statistics about data distribu tion in the cluster 定义一个函数,函数的功能是插入数据 > function insert3(o){ db.getCollection("persons").insert(o); ... } > insert3({name:"kitty"}) > db.persons.find(); { "_id" : ObjectId("593269f2622897d4e7c9b222"), "age" : 1, "name" : "tom", "gend er" : "1" } { "_id" : ObjectId("5932733d622897d4e7c9b227"), "name" : "kitty" } >
//将参数中的字符串当做js代码处理

> db.eval(‘return "hello mongodb "‘);
hello mongodb

> for (var i = 0; i<10 ;i++){ db.persons.insert({name:i})
... }
> db.persons.find()
{ "_id" : ObjectId("593269f2622897d4e7c9b222"), "age" : 1, "name" : "tom", "gend
er" : "1" }
{ "_id" : ObjectId("5932733d622897d4e7c9b227"), "name" : "kitty" }
{ "_id" : "0001", "name" : "yarn" }
{ "_id" : ObjectId("59327d6e622897d4e7c9b228"), "name" : 0 }
{ "_id" : ObjectId("59327d6e622897d4e7c9b229"), "name" : 1 }
{ "_id" : ObjectId("59327d6e622897d4e7c9b22a"), "name" : 2 }
{ "_id" : ObjectId("59327d6e622897d4e7c9b22b"), "name" : 3 }
{ "_id" : ObjectId("59327d6e622897d4e7c9b22c"), "name" : 4 }
{ "_id" : ObjectId("59327d6e622897d4e7c9b22d"), "name" : 5 }
{ "_id" : ObjectId("59327d6e622897d4e7c9b22e"), "name" : 6 }
{ "_id" : ObjectId("59327d6e622897d4e7c9b22f"), "name" : 7 }
{ "_id" : ObjectId("59327d6e622897d4e7c9b230"), "name" : 8 }
{ "_id" : ObjectId("59327d6e622897d4e7c9b231"), "name" : 9 }

save和insert的区别,save会变成更新语句并保存,insert则会报错

删除所有,但是索引不会删除
> db.persons.remove() > db.persons.find()

> db.persons.update({_id:"02"}, {_id:"02",name:"x0023"},true);//insert or update
> db.persons.find()
{ "_id" : "01", "name" : "01" }
{ "_id" : "02", "name" : "x0023" }
{ "_id" : "03", "name" : "x03" }

 

批量新增 在shell中是通过循环实现的,

更新时,只会更新满足条件的第一条数据

批量更新

> db.persons.update({name:"x03"}, {$set:{name:"x03sd"}},false,true);//批量更新
> db.persons.find()
{ "_id" : "01", "name" : "01" }
{ "_id" : "02", "name" : "x03sd" }
{ "_id" : "03", "name" : "x03sd" }
>

 

mongodb 入门

标签:区别   保存   bar   create   new   语句   blog   ntop   info   

人气教程排行