Пример привета MongoDB

mongodb hello world

Краткое руководство, чтобы показать вам, как выполнять основные операции, такие как создание, обновление, поиск, удаление записей и индексация в MongoDB. В этом примере используется MongoDB 2.0.7, работающий в Mac OS X 10.8, клиентская и серверная консоль MongoDB работают на локальном хосте, на одном компьютере.

1. Установите MongoDB

Установите MongoDB по ссылке://mongodb/how-to-install-mongodb-on-windows/[Windows], ссылка://mongodb/how-to-install-mongodb-on-ubuntu/[Ubuntu]или ссылка://mongodb/как установить mongodb-на-mac-os-x/[Mac OS X]. Установка проста, в основном просто скачайте zip-файл MongoDB, запустите дополнительно и запустите команду - $ MongoDB-folder/bin/mongod .

Использует mongod для запуска MongoDB.

$./mongod
Tue Sep 11 21:55:36[initandlisten]MongoDB starting :
pid=72280 port=27017 dbpath=/data/db/64-bit host=Yongs-MacBook-Air.local
Tue Sep 11 21:55:36[initandlisten]db version v2.0.7, pdfile version 4.5
Tue Sep 11 21:55:36[initandlisten]options: {}
Tue Sep 11 21:55:36[initandlisten]journal dir=/data/db/journal
Tue Sep 11 21:55:36[initandlisten]recover : no journal files present, no recovery needed
Tue Sep 11 21:55:36[websvr]admin web console waiting for connections on port 28017
Tue Sep 11 21:55:36[initandlisten]waiting for connections on port 27017

2. Подключить MongoDB

Для подключения MongoDB используется $ MongoDB-folder/bin/mongo

$ ./mongo
MongoDB shell version: 2.0.7
connecting to: test

3. Создать базу данных или таблицу (коллекцию)

В MongoDB база данных и таблица создаются автоматически при первой вставке данных. Использует use database-name , чтобы переключиться на вашу базу данных (даже это еще не создано).

В приведенном ниже примере после того, как вы вставили одну запись, база данных «mkyong» и таблица «users» создаются на лету.

$ ./mongo
MongoDB shell version: 2.0.7
connecting to: test
> use mkyong
switched to db mkyong

> db.users.insert({username:"mkyong",password:"123456"})
> db.users.find()
{ "__id" : ObjectId("504f45cd17f6c778042c3c07"), "username" : "mkyong", "password" : "123456" }

Три команды базы данных, которые вы должны знать.

, show dbs - список всех баз данных.

, use db name - переключается на dbname.

, show collection - список всех таблиц в текущей выбранной базе данных.

4. Вставить запись

Чтобы вставить запись, используется db.tablename.insert ({data}) или db.tablename.save ({data}) , оба работают, понятия не имею, почему MongoDB создал оба.

> db.users.save({username:"google",password:"google123"})
> db.users.find()
{ "__id" : ObjectId("504f45cd17f6c778042c3c07"), "username" : "mkyong", "password" : "123456" }
{ "__id" : ObjectId("504f48ea17f6c778042c3c0a"), "username" : "google", "password" : "google123" }

5. Обновить запись

Чтобы обновить запись, используется db.tablename.update ({критерии}, {$ set: {новое значение}}) . В приведенном ниже примере пароль имени пользователя: «mkyong» обновляется.

> db.users.update({username:"mkyong"},{$set:{password:"hello123"}})
> db.users.find()
{ "__id" : ObjectId("504f48ea17f6c778042c3c0a"), "username" : "google", "password" : "google123" }
{ "__id" : ObjectId("504f45cd17f6c778042c3c07"), "password" : "hello123", "username" : "mkyong" }

6. Найти записи

Для поиска или запроса записей используется db.tablename.find ({критерии}) .

  • 6.1 ** Список всех записей из таблицы «пользователи».

> db.users.find()
{ "__id" : ObjectId("504f48ea17f6c778042c3c0a"), "username" : "google", "password" : "google123" }
{ "__id" : ObjectId("504f45cd17f6c778042c3c07"), "password" : "hello123", "username" : "mkyong" }
  • 6.2 ** Поиск записей, где имя пользователя «Google»

> db.users.find({username:"google"})
{ "__id" : ObjectId("504f48ea17f6c778042c3c0a"), "username" : "google", "password" : "google123" }
  • 6.3 ** Поиск записей, где длина имени пользователя меньше или равна 2

db.users.find({$where:"this.username.length<=2"})
  • 6.4 ** Поиск записей, где существует поле имени пользователя.

db.users.find({username:{$exists : true}})

7. Удалить запись

Чтобы удалить запись, используется 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. Индексация

Индекс может помочь вам увеличить скорость запроса данных.

  • 8.1 ** Список всех индексов таблицы «users», по умолчанию столбец «__id» всегда является первичным ключом и создается автоматически.

> db.users.getIndexes()[    {
        "v" : 1,
        "key" : {
            "__id" : 1
        },
        "ns" : "mkyong.users",
        "name" : "__id__"
    }]>
  • 8.2 ** Для создания индекса используется db.tablename.ensureIndex (column) . В приведенном ниже примере создается индекс для столбца «имя пользователя».

> 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 (column)`. В приведенном ниже примере индекс по столбцу «имя пользователя» удален или удален.

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 ({column}, {unique: true})`. В приведенном ниже примере уникальный индекс создается для столбца «имя пользователя».

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" }]…​.

10. Помощь

Наконец, с помощью help () вы узнаете, как работать с MongoDB.

10.1 help - Все доступные команды.

> help
    db.help()                    help on db methods
    db.mycoll.help()             help on collection methods
    rs.help()                    help on replica set methods
    help admin                   administrative help
    help connect                 connecting to a db help
    help keys                    key shortcuts
   //...

10.2 db.help () - показывает справку по БД.

> 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)
   //...

10.3 db.collection.help () - показывает справку по коллекции (таблица).

> db.users.help()
DBCollection help
    db.users.find().help() - show DBCursor help
    db.users.count()
    db.users.dataSize()
    db.users.distinct( key ) - eg. db.users.distinct( 'x' )
    db.users.drop() drop the collection
    db.users.dropIndex(name)
   //...

10.4 db.collection.function.help () - показывает справку по функции.

> db.users.find().help()
find() modifiers
    .sort( {...} )
    .limit( n )
    .skip( n )
    .count() - total # of objects matching query, ignores skip,limit
    .size() - total # of objects cursor would return, honors skip,limit
    .explain([verbose])
   //...

Готово. Надеюсь, что это краткое изложение команд MongoDB может помочь другим.

Рекомендации

учебные пособия], MongoDB Indexes

ссылка://тег/hello-world/[привет мир]ссылка://тег/mongodb/[mongodb]