objectidpython
『壹』 python怎麼將objectid轉為str
bson的話
比如,我的是MongoDB查詢出的id
導入bson模塊
for id in cursor:
id = id.get('_id',"空")
#此時的id類型為bson.objectid.ObjectId
id = id.__str__()
#此時的id類型為str
json的話
導入json模塊
JSON的mps()函數可以將python的各種數據類型轉換為字元串,loads()函數可以將相應的字元串轉換回python變數
『貳』 python mongo 的objectid 怎麼轉化為string
MongoDB里的_id欄位前四位是時間戳的16進製表示,通過Python可以很容易從_id中提取出時間戳來
def timestamp_from_objectid(objectid):
result = 0
try:
result = time.mktime(objectid.generation_time.timetuple())
except:
pass
return result
『叄』 python中mongodb怎麼連接其他伺服器的資料庫
1、基於mongo實現遠程連接
[plain] view plain
mongo -u admin -p admin 192.168.0.197:27017/pagedb
通過mongo實現連接,可以非常靈活的選擇參數選項,參看命令幫助,如下所示:
[plain] view plain
mongo --help
MongoDB shell version: 1.8.3
usage: mongo [options] [db address] [file names (ending in .js)]
db address can be:
foo foo database on local machine
192.169.0.5/foo foo database on 192.168.0.5 machine
192.169.0.5:9999/foo foo database on 192.168.0.5 machine on port 9999
options:
--shell run the shell after executing files
--nodb don't connect to mongod on startup - no 'db address'
arg expected
--quiet be less chatty
--port arg port to connect to
--host arg server to connect to
--eval arg evaluate javascript
-u [ --username ] arg username for authentication
-p [ --password ] arg password for authentication
-h [ --help ] show this usage information
--version show version information
--verbose increase verbosity
--ipv6 enable IPv6 support (disabled by default)
2、基於MongoDB支持的javascript實現遠程連接
當你已經連接到一個遠程的MongoDB資料庫伺服器(例如,通過mongo連接到192.168.0.184),現在想要在這個會話中連接另一個遠程的資料庫伺服器(192.168.0.197),可以執行如下命令:
[plain] view plain
> var x = new Mongo('192.168.0.197:27017')
> var ydb = x.getDB('pagedb');
> use ydb
switched to db ydb
> db
ydb
> ydb.page.findOne()
{
"_id" : ObjectId("4eded6a5bf3bfa0014000003"),
"content" : "巴黎是浪漫的城市,可是...",
"pubdate" : "2006-03-19",
"title" : "巴黎:從布魯塞爾趕到巴黎",
"url" : "http://france.bytravel.cn/Scenery/528/cblsegdbl.html"
}
上述通過MongoDB提供的JavaScript腳本,實現對另一個遠程資料庫伺服器進行連接,操作指定資料庫pagedb的page集合。
如果啟用了安全認證模式,可以在獲取資料庫連接實例時,指定認證賬號,例如:
[plain] view plain
> var x = new Mongo('192.168.0.197:27017')
> var ydb = x.getDB('pagedb', 'shirdrn', '(jkfFS$343$_\=\,.F@3');
> use ydb
switched to db ydb
『肆』 ArcGIS利用Python批量選擇指定屬性的要素
在GIS數據處理中,選擇數據是十分頻繁的操作,常用的是"按屬性選擇"和"按位置選擇",這兩個功能雖然比較強大,但有時也不能滿足實際需求。比如可能時常會遇到這樣一種情景:將指定OID(假設3和6)的要素選擇出來。
最容易想到的是使用按屬性選擇構造WHERE子句("OBJECTID=3 OR OBJECTID=6")即可通過SQL選擇出來。
那麼問題來了,如果給定的ID有100個,而且它們沒有什麼規律,構造SQL語句會不會手軟呢?這也不難辦,使用屬性連接也可以選擇出來。
有沒有簡便一點的、可重復使用的方式,不用連接、不用手動構造SQL子句,那就用代碼自動來構造查詢語句吧。
很簡單很實用的工具,代碼如下: