如果我要搜索某個特定領域中的mongodb收集我的命令看起來是這樣的:搜索動態場在MongoDB中收集
db.collection.find({ name : "John"})
如果我想打的字段名稱動態,命令是什麼?
實施例:
db.collection.find({ <Dyanmic field variable> : <Value>})
或是否有替代實現這個功能?
如果我要搜索某個特定領域中的mongodb收集我的命令看起來是這樣的:搜索動態場在MongoDB中收集
db.collection.find({ name : "John"})
如果我想打的字段名稱動態,命令是什麼?
實施例:
db.collection.find({ <Dyanmic field variable> : <Value>})
或是否有替代實現這個功能?
只需使用變量來代替字典鍵:
name = 'field_name'
db.collection.find({name : "John"})
問題發生,當您試圖在不知道數據類型。所以爲了解決這個問題,我使用了以下內容:
def multi_row_single_field_update(self, crieteriafldnm, crieteriafldtyp, updtfldnm, updtfldval, updtfldtyp):
try:
criteria = raw_input('\nEnter ' + crieteriafldnm + ' to update\n')
if crieteriafldtyp == 'int':
count = self.my_connect.find({str(crieteriafldnm): int(criteria)}).count()
else:
count = self.my_connect.find({str(crieteriafldnm): str(criteria)}).count()
updt_criteria = int(criteria) if updtfldtyp == 'int' else str(criteria)
self.my_connect.update(
{"$atomic": 1},
{str(crieteriafldnm): updt_criteria},
{"$set": {str(updtfldnm): str(updtfldval)}},
upsert=False, multi=True
)
我不認爲這是對OP問題的回答。嘗試着重於他的需要,這將是恕我直言,動態創建一個字典,然後執行'db.collection.find(dinamically_built_dict)'。 – p1100i
您是否想要在代碼中使用存儲在變量中的字段名稱,例如「找到名稱存儲在變量fieldname的值爲'22'的所有文檔?或者您想要一次搜索MongoDB中的多個字段名稱,例如「找到名稱以」duck_''開頭的字段值爲「44」的所有文檔? – wdberkeley