MongoDB 필기 1,Win 10 에서 C Driver 를 사용 하여 MongoDB Server 에 접근

5899 단어 C++데이터 뱅 크
Author: kagula
Date: 2018-08-30
Environment:
[1]Visual Studio 2013 Update 5
[2]mongodb-win32-x86_64-2008plus-ssl-3.4.7-signed.msi
[3]MongoDB C Driver 1.7.0
Introduction
  몽고 DB 는 제 이 슨 대상 단위 로 데 이 터 를 액세스 한다.
  
    저 희 는 VS 2013 이기 때문에 문서 에 적 힌 Mongocxx 3.1.x 최저 VS 2015 build 수 요 를 만족 시 키 지 못 하고 결정 합 니 다. 
MongoDB C Driver 를 사용 합 니 다.
  
  MongoDB 를 쓸 때 제 가...
collection 은 관계 데이터베이스 의 표 로 간주 합 니 다.
document 는 관계 데이터베이스 의 기록 으로 간주 합 니 다.
제1 부분:MongoDB 설치
제2 부분:MongoDB 기본 조작
두 번 째 부분:MongoDB 서버 에 C+프로젝트 를 새로 만 듭 니 다.
Content
제1 부분:MongoDB 설치 Step 1:
홈 페이지 에서 다운로드
mongodb-win32-x86_64-2008plus-ssl-3.4.7-signed.msi
설치 후 기본 경로
C:\Program Files\MongoDB\Server\3.4
2 단계:"d:\\mongodb\data"와"d:\\mongodb\\log"경 로 를 새로 만 듭 니 다.
Step 3:MongoDB 를 시작 하고 DB 데이터 와 Log 저장 위 치 를 지정 합 니 다.
"C:\Program Files\MongoDB\Server\3.4\bin\
mongod.exe"
--dbpath d:\mongodb\data -v
--logpath d:/mongodb/log/server1.log
Final Step:
다음 명령 을 사용 하여 MongoDB 서버 에 연결 할 수 있 는 지 테스트 합 니 다.
"C:\Program Files\MongoDB\Server\3.4\bin\mongo.exe"
프롬프트 가 나타 나 면 exit 명령 을 입력 하여 MongoDB 클 라 이언 트 를 내 놓 습 니 다.
제2 부분:MongoDB 기본 조작
//아래 명령 을 로 컬 데이터베이스 에 연결 합 니 다.
"C:\Program Files\MongoDB\Server\3.4\bin\mongo.exe"
//데이터베이스 kagula 를 사용 합 니 다.kagula 데이터베이스 가 존재 하지 않 으 면 만 듭 니 다.
use kagula
//현재 사용 하고 있 는 데이터베이스 보기
db
//열 이 어떤 데이터베이스 에 나타 나 는 지
show dbs
만 든 데이터베이스 kagula 는 목록 에 없습니다.데이터 베 이 스 를 표시 하려 면 최소한 하나의 문 서 를 삽입 해 야 합 니 다.빈 데이터 베 이 스 는 표시 되 지 않 습 니 다.
//현재 데이터베이스 에 기록 삽입
db.items.insert({"id":1,"name":"lijun"})
//새 집합 my Collection(집합 이 존재 하지 않 는 다 면)을 집합 에 json 대상 을 삽입 합 니 다.
db.myCollection.insert({"id":1,"name":"record1","value":[{"sub-name":"a"},{"sub-name":"b"}]})
db.myCollection.insert({"id":2,"name":"record2","value":[{"sub-name":"2a"},{"sub-name":"2b"}]})
db.myCollection.insert({"id":3,"name":"record3","value2":[12.34,34,9.0]})
//데이터 삭제
db.myCollection.remove({'id':3})
//대상 속성 업데이트
db.myCollection.update({'id':1},{$set:{'name':'name1 after update'}})
//조회 데이터-비교
db.myCollection.find({"id":2}).pretty()
db.myCollection.find({"id":2,"name":"record1"}).pretty()
db.myCollection.find({"id":2,"name":"record2"}).pretty()
//조회 데이터-작 음,크 음,비교 보다 크 음
db.myCollection.find({"id":{$lt:1}}).pretty()
db.myCollection.find({"id":{$gt:1}}).pretty()
db.myCollection.find({"id":{$gte:1}}).pretty()
세 번 째 부분:C++를 사용 하여 MongoDB 연결 Step 1:mongo c driver 를 준비 합 니 다.
mongo-c-driver-1.7.0.tar.gz 를 다운로드 하고 D:\SDK\\mongo-c-driver-1.7.0 으로 압축 을 풀 수 있 습 니 다.
cmake
D:\SDK\mongo-c-driver-1.7.0\src\libbson
메모:generate 전 CMAKEINSTALL_PREFIX 는"D:\SDK\\mongo-c-driver-1.7.0"으로 설정 합 니 다.
solution 을 열 면 install procject 는 마지막 build 가 필요 합 니 다.컴 파일 된 procject 를 install 에 설치 합 니 다.
아까 저희 가 썼어 요.
CMAKE_INSTALL_PREFIX 가 지정 한 경로 중...
호출 만 한다 면 build release 버 전의 라 이브 러 리 만 있 으 면 됩 니 다.
cmake
D:\SDK\mongo-c-driver-1.7.0
메모:generate 이전
CMAKE_INSTALL_PREFIX 는"D:\SDK\\mongo-c-driver-1.7.0"으로 설정 합 니 다.
solution 을 열 면 build all 이 성공 합 니 다.
Step2:
windows console 프로그램 새로 만 들 기
원본 코드 는 다음 과 같 습 니 다:
#include 

int main(int argc, char *argv[])
{
	const char *uri_str = "mongodb://localhost:27017";
	mongoc_client_t *client;
	mongoc_database_t *database;
	mongoc_collection_t *collection;
	bson_t *insert;
	bson_error_t error;

	mongoc_init();
	client = mongoc_client_new(uri_str);

	mongoc_client_set_appname(client, "connect-example");

	/*
	* Get a handle on the database "kagula" and collection "myCollection"
	*/
	database = mongoc_client_get_database(client, "kagula");
	collection = mongoc_client_get_collection(client, "kagula", "myCollection");

	//json    {"name","kagula"}
	insert = BCON_NEW("name", BCON_UTF8("kagula"));

	//
	if (!mongoc_collection_insert(
		collection, MONGOC_INSERT_NONE, insert, NULL, &error)) {
		fprintf(stderr, "%s
", error.message); } bson_destroy(insert); /* * Release our handles and clean up libmongoc */ mongoc_collection_destroy(collection); mongoc_database_destroy(database); mongoc_client_destroy(client); mongoc_cleanup(); return 0; }

프로젝트 에서,
All Configuration 아래 설정
Include Path:
D:\SDK\mongo-c-driver-1.7.0\include\libbson-1.0;D:\SDK\mongo-c-driver-1.7.0\include\libmongoc-1.0;
Library Path:
D:\SDK\mongo-c-driver-1.7.0\lib;
Additional Dependencies:
bson-1.0.lib;mongoc-1.0.lib;
Final Step:
지난번 에 컴 파일 한 두 개의 release 버 전 을
libbson-1.0.dll,
libmongoc-1.0.dll 을 프로젝트 의 Debug 경로 에 놓 습 니 다.
컴 파일 이 통과 되면 테스트 MongoDB 를 실행 하 는 프로젝트 가 성공 합 니 다.
MongoDB 클 라 이언 트 를 사용 하여 데이터베이스 에 데이터 가 삽입 되 었 는 지 확인 하려 면 아래 명령 을 사용 하 십시오.
use kagula
db.myCollection.find()
note:
[1]너 도 아래 위치 에서 libbson 을 다운로드 할 수 있다.
https://github.com/mongodb/libbson/releases
cmake 를 사용 하여 Debug,Release 버 전의 라 이브 러 리 를 각각 컴 파일 합 니 다.
[2]mongo-c-driver 테이프 의 예제 코드 는 D:\SDK\\mongo-c-driver-1.7.0\\examples 경로 에서
Reference
[1]https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/
[2]https://docs.mongodb.com/manual/crud/
[3]https://docs.mongodb.com/manual/applications/drivers/
[4]http://mongoc.org/libmongoc/current/tutorial.html

좋은 웹페이지 즐겨찾기