Re: [問題] 不知道有沒有人有在玩PyMongo的呢
※ 引述《AlexanderXXX ( )》之銘言:
: 當初一直想摸看看所謂的Non-SQL Database
: 就拿它來練習作case看看
: 只是現在碰到一個瓶頸
: 就是我想要建立一個有Primary Key的collection
: 也有在網路上看到 MongoDB有一個叫做"_id"的內建欄位可以拿來用
: 他確實也算是意義上的Primary Key
: 但是....
: 我自己在使用的時候 碰到的狀況是
: 假設我已經insert了一組"_id"為1的set 比方說{ "_id": 1, "name": "Alex" } 這樣好
: 了
: 但我接下來如果要再insert一組{ "_id": 1, "name": "Benny" }
: 這時我期待的反應應該是 insert會失敗
: 但相反的 這筆inser卻成功了 而且collection內原有的"Alex" 竟然被取代了XD...
: 這樣的現象 好像又無法跟SQL的Primary Key有相同的運作方式 讓我有點困擾
: 是說我當然可以在insert之前 先query看是否存在這個key
: 但這樣的作法除了效能較差之外
: 感覺也沒有完全杜絕同樣key的資料匯被覆蓋的問題
: 不知道有沒有哪位大大也有玩過MongoDB的 可以討論看看XD
我在 mongodb shell 裡測
> db.test.insert({a:1})
> db.test.find()
{ "_id" : ObjectId("5255a01a5b9251448bf3826f"), "a" : 1 }
> db.test.insert({_id:1, a:1})
> db.test.find()
{ "_id" : ObjectId("5255a01a5b9251448bf3826f"), "a" : 1 }
{ "_id" : 1, "a" : 1 }
> db.test.insert({_id:1, a:2})
E11000 duplicate key error index: test.test.$_id_ dup key: { : 1.0 }
>
看來是有擋說@@a
--
http://blog.carlcarl.tw
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.250.189.31
→
10/10 02:30, , 1F
10/10 02:30, 1F
推
10/10 18:10, , 2F
10/10 18:10, 2F
推
10/12 10:15, , 3F
10/12 10:15, 3F
→
10/12 10:16, , 4F
10/12 10:16, 4F
推
10/12 11:54, , 5F
10/12 11:54, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):