本文整理汇总了C++中MongoServer类的典型用法代码示例。如果您正苦于以下问题:C++ MongoServer类的具体用法?C++ MongoServer怎么用?C++ MongoServer使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MongoServer类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: selectedUserItem
void ExplorerTreeWidget::ui_editUser()
{
ExplorerUserTreeItem *userItem = selectedUserItem();
if (!userItem)
return;
MongoUser user = userItem->user();
MongoDatabase *database = userItem->database();
MongoServer *server = database->server();
CreateUserDialog dlg(server->connectionRecord()->getFullAddress(),
database->name(),
user);
dlg.setWindowTitle("Edit User");
dlg.setUserPasswordLabelText("New Password:");
int result = dlg.exec();
if (result == QDialog::Accepted) {
MongoUser user = dlg.user();
database->createUser(user, true);
// refresh list of users
database->loadUsers();
}
}
示例2: selectedCollectionItem
void ExplorerTreeWidget::ui_dropCollection()
{
ExplorerCollectionTreeItem *collectionItem = selectedCollectionItem();
if (!collectionItem)
return;
MongoCollection *collection = collectionItem->collection();
MongoDatabase *database = collection->database();
MongoServer *server = database->server();
ConnectionSettings *settings = server->connectionRecord();
// Ask user
int answer = QMessageBox::question(this,
"Drop Collection",
QString("Drop <b>%1</b> collection?").arg(collection->name()),
QMessageBox::Yes, QMessageBox::No, QMessageBox::NoButton);
if (answer != QMessageBox::Yes)
return;
database->dropCollection(collection->name());
database->loadCollections();
//openCurrentCollectionShell("db.%1.drop()", false);
}
示例3: selectedFunctionItem
void ExplorerTreeWidget::ui_editFunction()
{
ExplorerFunctionTreeItem *functionItem = selectedFunctionItem();
if (!functionItem)
return;
MongoFunction function= functionItem->function();
MongoDatabase *database = functionItem->database();
MongoServer *server = database->server();
QString name = function.name();
FunctionTextEditor dlg(server->connectionRecord()->getFullAddress(),
database->name(),
function);
dlg.setWindowTitle("Edit Function");
int result = dlg.exec();
if (result == QDialog::Accepted) {
MongoFunction editedFunction = dlg.function();
database->updateFunction(name, editedFunction);
// refresh list of functions
database->loadFunctions();
}
}
示例4:
MongoDatabase *CopyCollection::selectedDatabase()
{
MongoDatabase *result = NULL;
const QString &serverName = _serverComboBox->currentText();
const QString &dataBaseName = _databaseComboBox->currentText();
if (!serverName.isEmpty() && !dataBaseName.isEmpty()) {
MongoServer *server = _servers[_serverComboBox->currentIndex()];
result = server->findDatabaseByName(QtUtils::toStdString(dataBaseName));
}
return result;
}
示例5: selectedServerItem
void ExplorerTreeWidget::openCurrentServerShell(const QString &script, bool execute,
const CursorPosition &cursor)
{
ExplorerServerTreeItem *serverItem = selectedServerItem();
if (!serverItem)
return;
MongoServer *server = serverItem->server();
AppRegistry::instance().app()->
openShell(server, script, QString(), execute, server->connectionRecord()->getReadableName(), cursor);
}
示例6: MongoServer
/**
* @brief Creates and opens new server connection.
* @param connection: ConnectionSettings, that will be owned by MongoServer.
* @param visible: should this server be visible in UI (explorer) or not.
*/
MongoServer *App::openServer(ConnectionSettings *connection,
bool visible)
{
MongoServer *server = new MongoServer(connection, visible);
_servers.append(server);
if (visible)
_bus->publish(new ConnectingEvent(this, server));
LOG_MSG(QString("Connecting to %1...").arg(QtUtils::toQString(server->connectionRecord()->getFullAddress())));
server->tryConnect();
return server;
}
示例7: ui_copyToCollectionToDiffrentServer
void ExplorerCollectionTreeItem::ui_copyToCollectionToDiffrentServer()
{
MongoDatabase *databaseFrom = _collection->database();
MongoServer *server = databaseFrom->server();
ConnectionSettings *settings = server->connectionRecord();
CopyCollection dlg(QtUtils::toQString(settings->getFullAddress()), QtUtils::toQString(databaseFrom->name()), QtUtils::toQString(_collection->name()) );
int result = dlg.exec();
if (result == QDialog::Accepted) {
MongoDatabase *databaseTo = dlg.selectedDatabase();
databaseTo->copyCollection(server, databaseFrom->name(), _collection->name());
databaseTo->loadCollections();
}
}
示例8: QString
void ExplorerCollectionTreeItem::ui_removeAllDocuments()
{
MongoDatabase *database = _collection->database();
// Ask user
int answer = QMessageBox::question(treeWidget(),
"Remove All Documents",
QString("Remove all documents from <b>%1</b> collection?").arg(QtUtils::toQString(_collection->name())),
QMessageBox::Yes, QMessageBox::No, QMessageBox::NoButton);
if (answer == QMessageBox::Yes) {
MongoServer *server = database->server();
mongo::BSONObjBuilder builder;
mongo::BSONObj bsonQuery = builder.obj();
mongo::Query query(bsonQuery);
server->removeDocuments(query, MongoNamespace(database->name(), _collection->name()), false);
}
}
示例9: ui_addDocument
void ExplorerCollectionTreeItem::ui_addDocument()
{
MongoDatabase *database = _collection->database();
MongoServer *server = database->server();
ConnectionSettings *settings = server->connectionRecord();
DocumentTextEditor editor(CollectionInfo(settings->getFullAddress(), database->name(), _collection->name()), "{\n \n}");
editor.setCursorPosition(1, 4);
editor.setWindowTitle("Insert Document");
int result = editor.exec();
treeWidget()->activateWindow();
if (result == QDialog::Accepted) {
server->insertDocuments(editor.bsonObj(), MongoNamespace(database->name(), _collection->name()) );
}
}
示例10: MongoServer
MongoServer* App::continueOpenServer(ConnectionSettings *connection, bool visible, int localport) {
ConnectionSettings* settings = connection->clone();
// Modify connection settings when SSH tunnel is used
if (visible && settings->sshSettings()->enabled()) {
settings->setServerHost("127.0.0.1");
settings->setServerPort(localport);
}
MongoServer *server = new MongoServer(settings, visible);
_servers.push_back(server);
server->runWorkerThread();
LOG_MSG(QString("Connecting to %1...").arg(QtUtils::toQString(server->connectionRecord()->getFullAddress())), mongo::logger::LogSeverity::Info());
server->tryConnect();
return server;
}
示例11: selectedDatabaseItem
void ExplorerTreeWidget::ui_dbDrop()
{
ExplorerDatabaseTreeItem *dbItem = selectedDatabaseItem();
if (!dbItem)
return;
MongoDatabase *database = dbItem->database();
MongoServer *server = database->server();
// Ask user
int answer = QMessageBox::question(this,
"Drop Database",
QString("Drop <b>%1</b> database?").arg(database->name()),
QMessageBox::Yes, QMessageBox::No, QMessageBox::NoButton);
if (answer != QMessageBox::Yes)
return;
server->dropDatabase(database->name());
server->loadDatabases(); // refresh list of databases
//openCurrentDatabaseShell("db.dropDatabase()", false);
}