Insert Data
> db..insert( ) > db.getLastError()
Более читаемый вид
> db.products.find().pretty() > db.products.find().toArray()
Добавим данные в таблицу
> x = { name : "Bluetooth Headset 509",
type : ["accessory", "headset"],
price : 30
}
{
"name" : "Bluetooth Headset 509",
"type" : [
"accessory",
"headset"
],
"price" : 30
}
> db.products.insert( x )
> db.getLastError()
null
db.getLastErrorObj()
{ "n" : 0, "connectionId" : 20, "err" : null, "ok" : 1 }
> db.products.insert({x:3,y:4 })
Updating Documents
> db..update( criteria, objNew, upsert, multi ) > db.getLastError()
criteria – query which selects the record to update;
objNew – updated object or $ operators (e.g., $inc) which manipulate the object
upsert – if this should be an “upsert” operation; that is, if the record(s) do not exist, insert one. Upsert only inserts a single document.
multi – indicates if all documents matching criteria should be updated rather than just one. Can be useful with the $ operators below.
Изменим цену _id : ObjectId(“509115dd3dc1ec0835d21c05”)
> db.products.find({_id : ObjectId(“509115dd3dc1ec0835d21c05”)})
{ “_id” : ObjectId(“509115dd3dc1ec0835d21c05”), “name” : “Bluetooth Headset 509”, “type” : [ “accessory”, “headset” ], “price” : 35 }
> db.products.update({_id : ObjectId(“509115dd3dc1ec0835d21c05”)},{name : “Bluetooth Headset 509”, type : [ “accessory”, “headset” ], price : 40 })
> db.products.find({_id : ObjectId(“509115dd3dc1ec0835d21c05”)})
{ “_id” : ObjectId(“509115dd3dc1ec0835d21c05”), “name” : “Bluetooth Headset 509”, “type” : [ “accessory”, “headset” ], “price” : 40 }
Добавим тестовую запись
> x ={_id : 101 , name : "TEST", available: true}
> db.products.save(x)
> db.products.find({_id: 101})
{ "_id" : 101, "name" : "TEST", "available" : true }
$set
{ $set : { field : value } }
sets field to value. All datatypes are supported with $set.
> db.products.update( {_id: 101}, { $set :{ "available" : false } } )
> db.products.find({_id: 101})
{ "_id" : 101, "name" : "TEST", "available" : false }
$push
{ $push : { field : value } }
Appends value to field, if field is an existing array,
otherwise sets field to the array [value] if field is not present.
If field is present but is not an array, an error condition is raised.
> db.products.update( {_id: 101}, {$push :{"cost" : 500}})
> db.products.find({_id: 101})
{ "_id" : 101, "available" : false, "cost" : [ 500 ], "name" : "TEST" }
> db.products.update( {_id: 101}, {$push :{"cost" : 500}})
> db.things.remove({}); // removes all
> db.things.remove({n:1}); // removes all where n == 1
> db.products.find({_id : 100})
{ "_id" : 100, "available" : 2, "color" : "red", "name" : "GTO", "year" : 1969 }
> db.products.find({_id : 100}).count()
1
> db.products.remove( { _id : 100 } )
Обновления конкретного поля
> db.products.find({_id : "Jane"})
{ "_id" : "Jane", "likes" : [ "tennis", "golf" ], "registered" : false,
"addr" : { "city" : "Lyon", "country" : "France" } }
> db.users.update({_id:"Jane"},{$addToSet:{likes:"football"}}, true)
> db.products.find({_id : "Jane"})
{ "_id" : "Jane", "likes" : [ "tennis", "golf", "football" ], "registered" : false,
"addr" : { "city" : "Lyon", "country" : "France" } }
> db.runCommand( {isMaster :1})
{
"ismaster" : true,
"maxBsonObjectSize" : 16777216,
"localTime" : ISODate("2012-11-01T21:32:35.271Z"),
"ok" : 1
}
Что сейчас происходит с сервером
> db.currentOp()
{ "inprog" : [ ] }
ServerStatus
> db.serverStatus()
Просмотреть Index
> db.products.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "pcat.products",
"name" : "_id_"
}
]
Добавить Index
> db.products.ensureIndex( {name : 1 })
Удалить Index
> db.products.dropIndex( {name : 1})
{ "nIndexesWas" : 2, "ok" : 1 }
> db.products.find( {for : "ac3"} ).explain()
{
"cursor" : "BtreeCursor for_1",
"isMultiKey" : true,
"n" : 4,
"nscannedObjects" : 4,
"nscanned" : 4,
"nscannedObjectsAllPlans" : 4,
"nscannedAllPlans" : 4,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 0,
"nChunkSkips" : 0,
"millis" : 0,
"indexBounds" : {
"for" : [
[
"ac3",
"ac3"
]
]
},
"server" : "mongodb.bezha.od.ua:27017"
}
Статистика
> db.products.stats()
{
"ns" : "pcat.products",
"count" : 12,
"size" : 2356,
"avgObjSize" : 196.33333333333334,
"storageSize" : 8192,
"numExtents" : 1,
"nindexes" : 1,
"lastExtentSize" : 8192,
"paddingFactor" : 1.003000000000001,
"systemFlags" : 0,
"userFlags" : 0,
"totalIndexSize" : 8176,
"indexSizes" : {
"_id_" : 8176
},
"ok" : 1
}
> use admin
switched to db admin
>
> db.runCommand( {listDatabases :1 } )
{
"databases" : [
{
"name" : "m101",
"sizeOnDisk" : 218103808,
"empty" : false
},
{
"name" : "pcat",
"sizeOnDisk" : 218103808,
"empty" : false
},
{
"name" : "admin",
"sizeOnDisk" : 1,
"empty" : true
},
{
"name" : "local",
"sizeOnDisk" : 1,
"empty" : true
},
{
"name" : "test",
"sizeOnDisk" : 1,
"empty" : true
}
],
"totalSize" : 436207616,
"ok" : 1
}
