mongodb를 사용하여 프로젝트를 수행하고 있습니다. 그래서 여기서 db를 생성하기 위해 별도의 함수를 작성했습니다. 이 코드는 내 코드생성 된 mongodb를 표시하지 않음
$conn = new \MongoClient('mongodb://example.com:27017', array("connect" => TRUE));
$exist_dbs = $conn->listDBs();
foreach ($exist_dbs["databases"] as $databse) {
if ($databse['name'] == $db_name) {
$is_exist = true;
}
}
if (!$is_exist) {
$db = new \MongoDB($conn, $db_name);
$status = true;
$msg = 'database successfully created';
} else {
$status = false;
$msg = 'database already exist';
}
$conn->close();
이지만 db를 만든 후에는 표시되지 않았습니다. 하지만 이것에 레코드를 추가하면,
$conn = new \MongoClient('mongodb://example.com:27017', array("connect" => TRUE));
$exist_dbs = $conn->listDBs();
foreach ($exist_dbs["databases"] as $databse) {
if ($databse['name'] == $db_name) {
$is_exist = true;
}
}
if (!$is_exist) {
$db = new \MongoDB($conn, $db_name);
$status = true;
$msg = 'database successfully created';
//new code
$collection = new \MongoCollection($db, 'users');
$obj = array("name" => "Madawa", "age" => "34");
$collection->insert($obj);
} else {
$status = false;
$msg = 'database already exist';
}
$conn->close();
이 표시됩니다. 왜 제발 도와주세요. 당신은 당신이 데이터베이스를 작성하지 않는
$db = new \MongoDB($conn, $db_name);
을 말할 때
Crossphire Development의 답변은 정확합니다. – acm
@acm 의견을 보내 주셔서 감사합니다. 사실 db, drop db, 현명한 컬렉션 추가 등의 기능을 별도로 작성했습니다. 그래서 db를 생성 한 후에 생각해 보겠습니다. DB에 콜렉션을 추가하려고합니다. (데이터베이스가 존재하지 않습니다.) – user2047701