2013-03-05 20 views
0

簡單的查詢是不工作在我的MongoDB數據庫。揪頭髮在這裏... MongoDB的查詢

當控制檯我跑

db.quads.find({}); 

我得到了「四邊形」集合中的所有文件,其中之一是:

{ "subject" : "u:http://dbpedia.org/resource/Tim_Berners-Lee", "predicate" : "u:http://dbpedia.org/ontology/abstract", "object" : "l:\"Sir Timothy John Berners-Lee KBE, OM, FRS (TimBL ou TBL) é um físico britânico, cientista da computação e professor do MIT. É o criador da World Wide Web, tendo feito a primeira proposta para sua criação em março de 1989. Em 25 de dezembro de 1990, com a ajuda de Robert Cailliau e um jovem estudante do CERN, implementou a primeira comunicação bem-sucedida entre um cliente HTTP e o servidor através da internet. Berners-Lee é o diretor do World Wide Web Consortium (W3C), que supervisiona o desenvolvimento continuado da web. Também é o fundador da Fundação World Wide Web e é um pesquisador sênior e titular e fundador da cadeira de 3Com no Laboratório de Inteligência Artificial e Ciência da Computação do MIT (CSAIL). É um diretor da The Web Science Research Initiative (WSRI) e um membro do conselho consultivo do Centro de Inteligência Coletiva do MIT. Em abril de 2009, foi eleito como membro da Academia Nacional de Ciências dos Estados Unidos, sediada em Washington, D.C. Em 2004, Timothy venceu o Millennium Technology Prize, o que lhe rendeu um milhão de euros.\"@pt", "graph" : "u:http://example.org/people", "_id" : ObjectId("5134aa893fff1d490400009c") } 

人們預計,在運行這樣的查詢...

db.quads.find({"subject" : "u:http://dbpedia.org/resource/Tim_Berners-Lee"}); 

...我至少會得到一個文檔,因爲那裏有一個帶有「subject」字段的文檔ue'u:http://dbpedia.org/resource/Tim_Berners-Lee'。

但我什麼也沒有......我試過通配符查詢也:

db.quads.find({"subject" : "/.*Tim_Berners-Lee.*/"}); 

無濟於事......我在做什麼錯?

謝謝!

+1

你'「'在你的外卡,又名他們將被解讀爲字符串不regexs,是真的有'U:'字段值之前或者是一些客戶端?編程顯示 – Sammaye 2013-03-05 15:57:48

+0

我試圖消除「」圍繞着通配符,沒有工作,即使非通配符查詢返回任何結果: > db.quads.find({「主題」:「U:HTTP://dbpedia.org/資源/ Tim_Berners-Lee「}); > u:是該字段的值的一部分,沒有錯誤 – 2013-03-05 16:00:40

+1

嗯...您所顯示的'subject'查詢確實會爲我返回文檔。 – JohnnyHK 2013-03-05 16:05:49

回答

1

我能夠使用以獲得期望的結果這兩種方法:

db.quads.find({ 「主題」:/.*Tim_Berners-Lee.*/}); 和 db.quads.find({ 「受試者」: 「U:http://dbpedia.org/resource/Tim_Berners-Lee」});

也許你正面臨着編碼的問題,請,列出所有文檔如你所說,並確保輸出作爲find命令的輸入值,有些shell窗口。如果可能的話,嘗試從另一臺機器連接,或者如果您正在使用Windows或嘗試從Linux機器連接,請嘗試使用cygwin。

問候, Moacy

+0

是的,這是問題所在。感謝您將它留在記錄中! – 2013-04-30 18:13:29