七、删除记录

  要删除一条记录,使用db.tablename.remove({标准}) 。在下面的例子中,用户名 “google”的记录将被删除。

  > db.users.remove({username:"google"})

  > db.users.find()

  { "_id" : ObjectId("504f45cd17f6c778042c3c07"), "password" : "hello123", "username" : "mkyong" }

  使用db.tablename.remove()注意:从表中删除所有记录,

  删除表,使用db.tablename.drop() 。

  8. Indexing

  八、索引

  指数可以帮助您提高数据查询的速度。

  8.1 List all indexes of table “users”, by default the column “_id” is always the primary key and created automatically.

  8.1名单表“用户”,默认情况下,所有的索引列“_id”始终是主键和自动创建。

> db.users.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "mkyong.users",
"name" : "_id_"
}
]
>

  8.2要创建索引时,使用db.tablename.ensureIndex(列)。在下面的例子中,“用户名”列上创建索引。

> db.users.ensureIndex({username:1})
> db.users.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "mkyong.users",
"name" : "_id_"
},
{
"v" : 1,
"key" : {
"username" : 1
},
"ns" : "mkyong.users",
"name" : "username_1"
}
]

  8.3删除索引,使用db.tablename.dropIndex(列)。在下面的例子中,“用户名”列上的索引被删除或丢弃


> db.users.dropIndex({username:1})
{ "nIndexesWas" : 2, "ok" : 1 }
> db.users.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "mkyong.users",
"name" : "_id_"
}
]
>

  8.4要创建一个索引,使用db.tablename.ensureIndex({列},{独特之处:真}) 。在下面的例子中,“用户名”列上创建索引。

> db.users.ensureIndex({username:1},{unique:true});
> db.users.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"ns" : "mkyong.users",
"name" : "_id_"
},
{
"v" : 1,
"key" : {
"username" : 1
},
"unique" : true,
"ns" : "mkyong.users",
"name" : "username_1"
}
]