たとえば、mongo コマンド ラインまたはシェルを使用して、次のドキュメントを挿入しました。
db.Users.insert(
{
"user info":{
"user name" : "Joe",
"password" : "!@#%$%" ,
"Facebook" : "aaa",
"Google" : "joe z"
}
}
)
次に、このエントリは、システムが作成した ID でデータベースにログインされます。
cxx ドライバーを使用して、特定のフィールド (この場合は _id) の値のみを返す次のコマンド ラインを実現したい場合、どのようにすればよいですか?
コマンドラインは次のとおりです。
db.Users.find({"user info.user name": "Joe"}, {"_id":1})
次のC++コードを試しました
bsoncxx::builder::stream::document document{} ;
document<<"user info.user name"<<"Joe"<<"_id"<<1;
auto cursor = myCollection.find(document.view());
for (auto && doc : cursor) {
std::cout << bsoncxx::to_json(doc) << std::endl;
}
それは単に私に何も与えません。
私が設定した場合
document<<"user info.user name"<<"Joe"
次に、JSON メッセージ全体を返します。
何か良いアイデアがあれば教えてください。