![](/img/trans.png)
[英]mongodb - data missing after using mongodump and mongorestore?
[英]MongoDB $or query not working for me after mongorestore
我運行了mongodump然后mongorestore將MongoDB數據庫從一台計算機移動到另一台計算機。 數據在那里,我可以查詢它們(第一次查詢)並獲得結果,但使用$或在查詢中不產生結果(第二次查詢)。
db.employees.find( { 'name.first' : 'Joe' })
-- vs --
db.employees.find( { $or : [ { 'name.first' : 'Joe' }]})
據我所知,索引已從system.indexes.bson重新創建,任何想法有什么問題?
指標:
> db.employees.getIndexes()
[
{
"name" : "_id_",
"ns" : "data.demployees",
"key" : {
"_id" : 1
}
}
]
我通過控制台運行查詢,而不是pymongo。
為了真正幫助我們,我們需要一些信息:
db.employees.getIndexes()
輸出 較小的數據集
嘗試將一小部分employees
復制到新集合並運行相同的查詢:
db.employees.find().limit(100).forEach( function(x) { db.employees_test.insert(x); } )
基本上,讓我們試着排除數據的破壞。 然后讓我們嘗試隔離版本,看看這是否是一個已知的bug。
仔細檢查數據類型
確保數據類型正確。
這是一個錯誤嗎?
這可能是一個錯誤,但如果是這樣,那么錯誤應該很容易重現。 一旦你仔細檢查了系統的行為是否正常,就應該重新調試它,這樣你至少可以提交一個bug。
pymongo需要特殊操作員的報價 - 你試過這個嗎?
db.employees.find( { '$or' : [ { 'name.first' : 'Joe' }]})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.