MongoDB 필기 1,Win 10 에서 C Driver 를 사용 하여 MongoDB Server 에 접근
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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Visual Studio에서 파일 폴더 구분 (포함 경로 설정)Visual Studio에서 c, cpp, h, hpp 파일을 폴더로 나누고 싶었습니까? 어쩌면 대부분의 사람들이 있다고 생각합니다. 처음에 파일이 만들어지는 장소는 프로젝트 파일 등과 같은 장소에 있기 때문에 파일...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.