我试图在python2.7中读取一个文件,并且它完美无缺.我遇到的问题是当我在Python3.4中执行相同的程序然后出现错误:
'utf-8' codec can't decode byte 0xf2 in position 424: invalid continuation byte'
此外,当我在Windows中运行该程序(使用python3.4)时,不会出现错误.该文件的第一行是:
    Codi;Codi_lloc_anonim;Nom
我的程序代码是:
def lectdict(filename,colkey,colvalue):
    f = open(filename,'r')
    D = dict()
    for line in f:
       if line == '\n': continue
       D[line.split(';')[colkey]] = D.get(line.split(';')[colkey],[]) + [line.split(';')[colvalue]]
f.close
return D
Traduccio = lectdict('Noms_departaments_centres.txt',1,2)
这就是我的文档的样子
{
  code: "A2df",
  clicks: 7,
  countries: [{"country":"IN", clicks:5},{"country":"US", clicks:2}],
  domains: [{"domain":"a.com", clicks:4},{"country":"b.com", clicks:3}]
},
{
  code: "B3ws",
  clicks: 11,
  countries: [{"country":"IN", clicks:6},{"country":"ND", clicks:5}],
  domains: [{"domain":"a.com", clicks:7},{"country":"c.com", clicks:4}]
},
{
  code: "A2df",
  clicks: 5,
  countries: [{"country":"IN", clicks:2},{"country":"ND", clicks:3}],
  domains: [{"domain":"a.com", clicks:1},{"country":"c.com", clicks:4}]
}...
这就是我需要的:
{
  code: "A2df",
  clicks: 12,
  countries: [
    {
      "country": "IN",
      clicks: 7
    },
    {
      "country": "US",
      clicks: 2
    },
    {
      "country": "ND",
      clicks: 3
    }
  ],
  domains: [
    {
      "domain": "a.com",
      clicks: 5
    },
    {
      "country": …我正在尝试使用SymPy来获取残留物,在这种情况下是余切函数.我有一个integrate()函数:
import sympy as sy
import numpy as np
def integrate(f, z, gamma, t, lower, upper, exact=True):
    '''
    Integrate f(z) along the contour gamma(t): [lower, upper] --> C
    INPUTS:
    f - A SymPy expression. Should represent a function from C to C.
    z - A SymPy symbol. Should be the variable of f.
    gamma - A SymPy expression. Should represent a function from [lower, upper] to C.
    t - A SymPy symbol. Should be the variable of gamma.
    lower - …当我尝试在MongoDB中删除集合中的文档时.它没有删除,因为集合有上限.我的问题是为什么?在这种情况下是否有解决方案或其他功能可以删除文档?
我需要检查mongodb是否nickname和password被true我尝试使用$and与操作$regex,但我不能得到它的工作.有人可以帮助我,现在有这个;
checkNickname: function(nickname, password){
    var reNick = new RegExp(nickname, "i"),
        rePass = new RegExp(password, "i");
    getProfile.find( { $and :  [{
        nickname: { $ne: { $regex: reNick } } },
        { password: { $ne: { $regex: rePass} } } 
    ]}, function(data){
        console.log(data)
    });
},
我有一个像
{
    "_id" : ObjectId("5738cb363bb56eb8f76c2ba8"),
    "records" : [
        {
            "Name" : "Joe",
            "Salary" : 70000,
            "Department" : "IT"
        }
    ]
},
{
    "_id" : ObjectId("5738cb363bb56eb8f76c2ba9"),
    "records" : [
        {
            "Name" : "Henry",
            "Salary" : 80000,
            "Department" : "Sales"
        },
        {
            "Name" : "Jake",
            "Salary" : 40000,
            "Department" : "Sales"
        }
    ]
},
{
    "_id" : ObjectId("5738cb363bb56eb8f76c2baa"),
    "records" : [
        {
            "Name" : "Sam",
            "Salary" : 90000,
            "Department" : "IT"
        },
        {
            "Name" : "Tom",
            "Salary" : 50000,
            "Department" : "Sales" …我正试图在MongoDB中找到一条记录,并_id从结果中过滤.
这是我的代码:
#app.py
@app.route('/login', methods = ['GET', 'POST'])
def login():
    if request.method == "POST":
        password = request.form.get('password')
        email = request.form.get('email')
        db = get_db()
        data = db.author.find_one({'email' : email, 'password' : password})
        print(data)
        return 'data'
    else:
        return render_template('login.html')
输出:
{'password': '123123', 'name': '<my_name>', 'email': '<my_email>', '_id': ObjectId('<an_object_id_string>')}
如何_id从输出中过滤字段?
我有一个看起来像这样的文档:
{
  "_id" : ObjectId("56fea43a571332cc97e06d9c"),
  "sections" : [
    {
      "_id" : ObjectId("56fea43a571332cc97e06d9e"),
      "registered" : [
        "123",
        "e3d65a4e-2552-4995-ac5a-3c5180258d87"
      ]
    }
  ]
}
我想删除只有特定部分'e3d65a4e-2552-4995-ac5a-3c5180258d87'的registered数组中的._id'56fea43a571332cc97e06d9e'
我目前的尝试是这样的,但它只是返回未修改的原始文档.
db.test.findOneAndUpdate(
{
  $and: [
    {'sections._id': ObjectId('56fea43a571332cc97e06d9e')},
    {'sections.registered': 'e3d65a4e-2552-4995-ac5a-3c5180258d87'}
  ]
},
{
  $pull: {
    $and: [
      {'sections._id': ObjectId('56fea43a571332cc97e06d9e')},
      {'sections.registered': 'e3d65a4e-2552-4995-ac5a-3c5180258d87'}
    ]
  }
})
我已经查看了$pull,但我似乎无法弄清楚如何使它适用于包含另一个数组的嵌套对象数组.这些$pull例子似乎只涉及一个嵌套级别.如何删除从匹配条目registered的项目阵列中sections与阵列_id,我的供应?
我们通过Spring Data使用MongoDB,并依靠findAndModify操作来更新现有实体或创建新实体.
在findAndModify我们可以配置为使用返回实体的旧状态或新实体returnNew(...).
有没有办法从旧的和新的实体返回findAndModify?
我们需要在更新之前和之后比较实体状态,这就是我们需要两个实例的原因.
目前我们正在诉诸requireNew(false)并手动更新旧实例的副本,如下所示:
public Pair<Data> saveItems(String id, List<Item> items) {
    final Query findById = ...;
    final Update update = new Update();
    // This is what we actually update
    update.set(ENTITY_FIELD_ITEMS, newItems);
    update.inc(ENTITY_FIELD_VERSION, 1);
    // Try updating and return the old data 
    final Data oldData = operations.findAndModify(findById, update,
        FindAndModifyOptions.options().upsert(true).returnNew(false), Data.class);
    // Copy or create new instance
    final Data newData;
    if (oldData == null) {
        newData = new Data(id);
    } …mongodb 中的整数值记录了其保存的 32int。我想在 mongodb 中保存 64 位值。
代码在这里:
import time
import datetime
from pymongo import MongoClient
client = MongoClient()
client = MongoClient('localhost', 27017)
db = client.test_database
data = {}
data['num'] = 100
data['createAt'] = datetime.datetime.now()
curTime = datetime.datetime.now()
curTime =  int(time.mktime(curTime.timetuple()))
data['time'] = curTime
db.test.insert(data)
结果:
{ 
     "_id" : ObjectId("583420ce7e60a74345c97624"), 
     "num" : NumberInt(100), 
     "createAt" : ISODate("2016-11-22T15:41:18.773+0000"), 
     "time" : NumberInt(1479811278) 
}
想要的结果是:
{ 
     "_id" : ObjectId("583420ce7e60a74345c97624"), 
     "num" : NumberLong(100), 
     "createAt" : ISODate("2016-11-22T15:41:18.773+0000"), 
     "time" : NumberLong(1479811278) 
}
它存储在 NumberInt 而不是 NumberLong
mongodb ×8
python ×4
pymongo ×2
arguments ×1
arrays ×1
mongodb-java ×1
python-3.x ×1
regex ×1
spring ×1
spring-data ×1
subdocument ×1
sympy ×1
utf-8 ×1