2013-04-08 26 views
6

Mongo và Java rất kinh nghiệm. Nhóm của chúng tôi đã quyết định sử dụng API tìm kiếm văn bản đầy đủ, được giới thiệu gần đây trong MongoDB. Tuy nhiên, chúng tôi đã tìm thấy một số khó khăn khi thực hiện lệnh bằng trình điều khiển Java MongoDB.Làm thế nào để thực hiện lệnh tìm kiếm văn bản đầy đủ trong MongoDB bằng Trình điều khiển Java?

đây là mã của tôi Tôi đang sử dụng:

public BasicDBObject find(String search) { 
    BasicDBObject searchCommand = new BasicDBObject(); 

     searchCommand.put("text", new BasicDBObject().append("search", search)); 

     CommandResult commandResult = db.command(searchCommand); 
} 

Đây là những gì tôi nhận được khi tôi in

System.out.println(commandResult) 

{ "serverUsed" : "/127.0.0.1:27017" , "errmsg" : "exception: wrong type for field (text) 3 != 2" , "code" : 13111 , "ok" : 0.0 } 

Trả lời

11

Trích từ một bài đăng trên nhóm Google (https://groups.google.com/forum/?fromgroups#!topic/mongodb-user/7jWUbunUcFQ):

final DBObject textSearchCommand = new BasicDBObject(); 
    textSearchCommand.put("text", collectionName); 
    textSearchCommand.put("search", textToSearchFor); 
    final CommandResult commandResult = db.command(textSearchCommand); 

Hiển thị chính xác cách định dạng lệnh.

+0

Cảm ơn bạn Tôi nghĩ đây là lệnh :) – Adelin

+0

làm cách nào để thêm tham số truy vấn trong db.command? – rajeshpanwar

Các vấn đề liên quan