json如何在java中从MongoDB Atlas获取特定字段?
下面的Java代码返回JSON对象,该对象包含我的MongoDB Atlas数据库中“users”集合的所有字段,但我只需要一个字段值,比如“password”。我该怎么办
package com.servlets;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.MongoException;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import org.bson.Document;
public class mongoDB
{
public static void main(String[] args)
{
String username = "gary29198";
Gson gson = new Gson();
MongoClientURI uri = new MongoClientURI("mongodb+srv://gary29198:0001221149@sih2019-yp3zc.mongodb.net/test?retryWrites=true");
MongoClient mongoClient = new MongoClient(uri);
MongoDatabase database = mongoClient.getDatabase("SIH2019");
MongoCollection<Document> collections = database.getCollection("users");
FindIterable<Document> find = collections.find(Filters.eq("username", username));
try( MongoCursor<Document> cursor = find.iterator() )
{
while(cursor.hasNext())
{
System.out.println(gson.toJson(cursor.next()));
}
}
catch(MongoException e)
{
System.out.println(e.getMessage());
}
}
}
# 1 楼答案
可以使用投影