在java中运行自定义mongodb查询

在java中运行自定义mongodb查询,java,mongodb,database-connection,bson,Java,Mongodb,Database Connection,Bson,我想使用接收BSON数据的runCommand()运行原始mongoDb查询。 下面是我的代码 MongoClient mongoClient = new MongoClient(); MongoDatabase database = mongoClient.getDatabase("MyDB"); MongoCollection<Document> collection = (MongoCollection<Document>)database.

我想使用接收BSON数据的runCommand()运行原始mongoDb查询。 下面是我的代码

    MongoClient mongoClient = new MongoClient();
    MongoDatabase database = mongoClient.getDatabase("MyDB");
    MongoCollection<Document> collection = (MongoCollection<Document>)database.runCommand(??);        
MongoClient MongoClient=new MongoClient();
MongoDatabase=mongoClient.getDatabase(“MyDB”);
MongoCollection集合=(MongoCollection)数据库.runCommand(;
如果我的问题是

db.mycl.find({“by”:“tutorials point”})

在runCommand()中必须传递的BSON数据应该是什么?只是

{{“by”:“教程点”}

db.mycl.find({“by”:“tutorials point”})

如果我必须使用Insert()而不是find(),那么该怎么做呢?

查找:

db.runCommand({
    find: "mycol",
    filter: { by: "tutorials point"}
})
插入:

db.runCommand({
    insert: "mycol",
    documents: [ { _id: 1, foo: "bar"} ]
})
我认为在java中使用Jongo()是最简单的方法。 语法与mongoshell非常相似

jongo.runCommand("{find: 'mycol', filter: { by: 'tutorials point'}}")
你不能那样做。 首先,您需要获得您的
收藏

比如:
MongoCollection collection=database.getCollection(“test”)

拥有
集合后
可以使用util
import com.mongodb.util.JSON运行原始查询

这将是您希望执行的一个示例:

MongoClient mongoClient = new MongoClient();
MongoDatabase database = mongoClient.getDatabase("MyDB");
MongoCollection<Document> collection = database.getCollection("mycol");

String rawQuery = "{\"by\": \"tutorials point\"}";

DBObject query = (DBObject) JSON.parse(rawQuery);
collection.find(query);
MongoClient MongoClient=new MongoClient();
MongoDatabase=mongoClient.getDatabase(“MyDB”);
MongoCollection collection=database.getCollection(“mycl”);
字符串rawQuery=“{\”by\”:\“教程点\“}”;
dbobjectquery=(DBObject)JSON.parse(rawQuery);
收集、查找(查询);