Quantcast
Channel: Библиотека знаний
Viewing all articles
Browse latest Browse all 1318

MongoDb - [Документация]

$
0
0

MongoDb

Документация

Видео

Установка

$ apt-key adv--keyserver hkp://keyserver.ubuntu.com:80--recv EA312927
$ echo"deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.2 main"|sudotee/etc/apt/sources.list.d/mongodb-org-3.2.list
$ apt-get update
$ apt-get install-y mongodb-org

Настройка

Добавление внешнего IP адреса

Version 2.x

nano /etc/mongod.conf

port: 27017
bind_ip: 127.0.0.1,89.2.1.1

Подробнее: https://docs.mongodb.org/v2.2/reference/configuration-options/

Version 3.x

nano /etc/mongod.conf

# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1,89.2.1.1

Подробнее: https://docs.mongodb.org/v3.2/reference/configuration-options/

PHP

  • sudo pecl install mongo

Создание пользователя

$ mongo
MongoDB shell version: 2.4.9
connecting to: test> use admin;
switched to db admin

2.4

  • > use admin;
  • > db.removeUser('admin');
  • > db.addUser({user:'admin', pwd:'pass', roles: ['dbAdminAnyDatabase']});
  • > db.auth('admin','pass');

Roles

  • read
  • readWrite
  • dbAdmin
  • dbOwner
  • userAdmin
  • clusterAdmin
  • clusterManager
  • clusterMonitor
  • hostManager
  • readAnyDatabase
  • readWriteAnyDatabase
  • userAdminAnyDatabase
  • dbAdminAnyDatabase

http://docs.mongodb.org/manual/reference/built-in-roles/

2.6.4

  • > use some_database
  • > db.getSiblingDB("admin").runCommand({authSchemaUpgrade: 1 });
  • > db.dropUser('admin');
  • > db.createUser({ user:"user", pwd:"password", roles:["read","readWrite","dbAdmin"]});
  • > db.auth('admin','pass');

3.0.0

  • > use admin;
  • > db.dropUser('admin')

3.2.3

Изменение пользователя

  • db.changeUserPassword("reporting", "SOh3TbYhxuLiW8ypJPxmt1oOfL")

Привелегии

  • db.runCommand(
      {
        usersInfo:"admin",
        showPrivileges:true
      }
    );

Backup / Restore

Backup

Если не задан пароль у юзера admin в БД admin

mongodump --out /tmp/mongodump

Если задан пароль у юзера

mongodump --username admin --password password --out /tmp/mongodump

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

mongodump --host localhost --port 3017 --username admin --password pass --out /tmp/mongodump

Restore

mongorestore --db some_other_db -c some_or_other_collection tmp/mongodump/some_collection.bson
mongorestore --db some_other_db --username user --password pass ./
  • db.getCollection('rooms').find({roomid: 'user-53'})
  • db.users.find({"name": /.*Супр.*/})

INSERT

UPDATE ($where, $params)

  • db.unicorns.update({name: 'Roooooodles'}, {weight: 590})
  • db.unicorns.update({weight: 590}, {$set: {name: 'Roooooodles', dob: new Date(1979, 7, 18, 18, 44), loves: ['apple'], gender: 'm', vampires: 99}})
  • db.getCollection('rooms').update({},{messageCount: 0})
  • db.getCollection('rooms').update({},{$set: {'messageCount': 0}}, {multi: true});
  • db.getCollection('rooms').update({},{$set:{'messageCount':0}},{ upsert:true, multi:true}); 
    db.getCollection('rooms').find({});

geoNear

MongoDB: geoNear не возвращаясь расстояние

Мне нужно, чтобы изменить существующий геопространственных запросов таким образом, что она включает в себя расстояние в результаты поиска. (Оба документа и существующий запрос с использованием устаревших координатных пар.) Исходный запрос использует $near. Чтение документации MongoDB похоже, geoNear должен возвратить расстояние, как показано на нескольких примерах.

В то время как я был в состоянии изменить запрос, чтобы использовать geoNear, расстояния не включены в результаты поиска. Вот пример нового запроса:

{ 
  geoNear: 'users',
  near: [ '0', '0' ],
  maxDistance: '90',
  query: { userName: { '$regex': '^test' } }
}

Единственное, что не понятно, как Mongo связей в месте, указанному в запросе, на расположение документа. В моем случае пользователи документе есть поле с именем lastKnownPosition. Как работает Mongo даже знаю, на запрос к этому полю?

Вот пример результатов поиска:

{ 
    "__v" : 0 , 
    "_id" : { "$oid" : "5413824f8b4d6f7505120a53"} , 
    "lastKnownPosition" : { "lon" : 0 , "lat" : 0} ", 
    "userName" : "test123"
}

Клиенты

Статьи


Viewing all articles
Browse latest Browse all 1318

Trending Articles


Pokemon para colorear


Sapos para colorear


Tagalog Quotes About Crush – Tagalog Love Quotes


OFW quotes : Pinoy Tagalog Quotes


Long Distance Relationship Tagalog Love Quotes


Tropa Quotes


Best Crush Tagalog Quotes And Sayings 2017


“BAHAY KUBO HUGOT”


Vimeo 10.7.0 by Vimeo.com, Inc.


Vimeo 10.7.1 by Vimeo.com, Inc.