在java中运行自定义mongodb查询
我想使用接收BSON数据的runCommand()运行原始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.
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”)代码>
拥有集合后
可以使用utilimport 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);
收集、查找(查询);