MongoDB 2.4 sắp tới hỗ trợ full-text search.Tìm kiếm toàn văn ở Pymongo
Chúng tôi làm điều này trong vỏ Mongo với một lệnh, chẳng hạn như
db.players.runCommand("text", {
"search": "alice",
"project": {"name": 1, "_id": 0},
"limit": 10})
Bây giờ khi porting này để pymongo, chúng ta phải đối phó với thực tế là runCommand
không được định nghĩa trên pymongo Collection
lớp. Tôi đã có thể tìm ra những gì lệnh thực là, vì vậy đây làm việc trong vỏ:
db.runCommand({
"text": "players",
"search": "alice",
"project": {"name": 1, "_id": 0},
"limit": 10})
mà làm việc. Nhưng điều này không chính xác cho tôi biết làm thế nào để có được điều này để làm việc trong pymongo. Tôi đã thử:
db.command({
"text":"players",
"pipeline": [
("search","alice"), ("project",{"name":1,"_id":0}), ("limit",10)
]})
không hoạt động (nó nói "không tìm kiếm được chỉ định"). Tôi cũng đã cố gắng:
db.command({
"text": "players",
"search": "alice",
"project": {"name": 1, "_id": 0},
"limit":10})
trong đó tất nhiên không thành công với: "không cmd như: Dự án".
tôi có thể có được những điều để làm việc nếu tôi chỉ sử dụng search
và limit
, ví dụ
db.command({
"text": "players",
"search": "alice",
"limit": 10})
nhưng tôi muốn sử dụng filter
và project
với pymongo. Có ai nhận được tìm kiếm toàn văn làm việc với dự án và bộ lọc không?
Ngoài ra: Có thể có một cách hay để suy ra hình dạng của lệnh pymongo từ lệnh trình bao?
Liệu tác phẩm này với regex là tốt? như db.command ("regex", "players", search = "alice") – Jeff
Tôi không quen thuộc với lệnh 'regex'. Nó không xuất hiện trên [danh sách lệnh chính thức] (http://docs.mongodb.org/manual/reference/command/) từ MongoDB. –