我对mongodb很新,有一件事我现在无法解决:
让我们假装,你有以下文件(简化):
{
'someKey': 'someValue',
'array' : [
{'name' : 'test1',
'value': 'value1'
},
{'name' : 'test2',
'value': 'value2'
}
]
}
Run Code Online (Sandbox Code Playgroud)
哪个查询将返回json-object,其中值等于'value2'?
这意味着,我需要这个json对象:
{
'name' : 'test2',
'value': 'value2'
}
Run Code Online (Sandbox Code Playgroud)
当然我已经尝试了很多可能的查询,但没有一个返回正确的,例如
db.test.find({'array.value':'value2'})
db.test.find({'array.value':'value2'}, {'array.value':1})
db.test.find({'array.value':'value2'}, {'array.value':'value2'})
Run Code Online (Sandbox Code Playgroud)
有人可以帮助并告诉我,我做错了什么?
谢谢!
我在 update_time 的 alembic 修订版中有一个列,用于显示列何时更新。
目前我已经尝试过:
sa.Column('update_time', sa.dialects.mysql.DATETIME(fsp=3), nullable=False, server_default=str(datetime.utcnow()), onupdate=str(datetime.utcnow()), server_onupdate=str(datetime.utcnow()))
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
sa.Column('test_time', sa.DateTime(), server_default=sa.func.now(), server_onupdate=sa.func.now(), onupdate=sa.func.now())
Run Code Online (Sandbox Code Playgroud)
构建数据库时,获取 utcnow() 时间作为 DateTime。
但是,当我通过 mysql 中的命令行更新列时,列保持相同的时间戳。
如何获取要更新的时间戳?