簡體   English   中英

ingo到ingo的浮點轉換

[英]int to float conversion in Mongo find

如下面的代碼所示,我在mongo shell中插入了4和5。 PyMongo將它們作為4.0和5.0。 我從PyMongo插入7。 PyMongo將其獲取為7。

為什么會這樣呢? 我發現這很陰暗,我不想在將來追逐無聲的生產失敗。 <在此處插入rant>

警惕:我試圖隱藏可能妨礙某些學生的信息。 請注意

從蒙哥出發:

$:~/dev/mongouniv$ mongo
MongoDB shell version: 2.4.9
connecting to: test
> use m101
switched to db m101
> db.hw1.findOne()

> db.hw1.insert({"key":4})
> db.hw1.insert({"key":5})
> db.hw1.find()
{ "_id" : ObjectId("5566cccaa3e32a78d30eeddc"), "key" : 4 }
{ "_id" : ObjectId("5566ccdda3e32a78d30eeddd"), "key" : 5 }

從Python:

import pymongo

from pymongo import MongoClient

# connect to database
connection = MongoClient('localhost', 27017)

In [20]: connection.m101.hw1.insert({"key":7})
Out[20]: ObjectId('5566ce513b8aa04a7585120f')

In [21]: list(connection.m101.hw1.find())
Out[21]: 
[
 {u'_id': ObjectId('5566cccaa3e32a78d30eeddc'), u'key': 4.0},
 {u'_id': ObjectId('5566ccdda3e32a78d30eeddd'), u'key': 5.0},
 {u'_id': ObjectId('5566ce513b8aa04a7585120f'), u'key': 7}]

我的Ubuntu軟件包的版本:

dpkg -s python-pymongo
Version: 2.6.3-1build1
dpkg -s mongodb-server
Version: 1:2.4.9-1ubuntu2
dpkg -s mongodb-clients
Version: 1:2.4.9-1ubuntu2

如您從http://docs.mongodb.org/manual/core/shell-types/所看到的:

默認情況下,mongo shell將所有數字視為浮點值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM