问题标签 [ming]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5715 浏览

ld - ld.exe,最终链接失败:权限被拒绝 - 写访问:是,进程仍在运行:否

我有一个奇怪的错误。它突然冒出来。我正在愉快地构建(Eclipse + MingW),突然在一个构建中我收到了这条消息

c:/mingw/mingw32/bin/ld.exe:最终链接失败:权限被拒绝

通常这发生在这两种情况下:

  • 对构建目标没有写访问权限
  • 编译的exe仍然运行不可见

在我的情况下,这两种情况都是错误的(每次出现错误时都会检查两次,并且我之前编译过几次都没有问题,没有离开 Eclipse)。

我可以通过清理构建空间(Project->Clean...)来解决它,但是一些构建之后它又开始发生了。

还有哪些其他情况会导致此故障?以及如何解决?

0 投票
1 回答
278 浏览

python - 在 mongodb 上使用 ming 按相关项目排序

设置

一个 TurboGears2 项目,使用 ming 作为 mongodb 的 ORM。我习惯于使用关系数据库和 Django ORM。

问题

Ming 声称让与 mongodb 交互,就像它是一个关系数据库一样,在关系数据库中常见的事情是通过外键的属性对查询进行排序。使用 Django ORM,这用双下划线表示,如下所示:MyModel.objects.all().order_by('user__username')

这在 ming 有没有等价物?

0 投票
1 回答
1202 浏览

python - 以可测试的方式连接到 mongodb

我打算使用 Flask 和 MongoDB(可能还有 Ming 作为 ODM)在 python 中编写一个 webapp。问题是我想让我的模型和控制器很好地分开,这样做的一个原因是能够在单独的组件上运行简单的单元测试。

现在这是我的问题,在请求生命周期的某个时刻,我需要连接到 MongoDB。每个请求都有一个单独的连接。Flask 提供了一个线程本地对象,它可以包含任何对请求全局的变量,这似乎是放置 mongo 连接的好地方。但是,这会在数据层和 Flask 之间产生硬依赖,这将使单独测试或运行它们变得非常困难。

所以我的问题真的是是否有一个优雅的解决方案。我自己提出了几个选项,但它们远非优雅。

首先,我可以给数据模块一个函数,告诉它从哪里获取连接对象。或者类似地给它一个可以用来获取新连接的函数。

第二种选择是创建一个模块可以用来连接到 MongoDB 的类,然后创建这个类的 2 个版本,一个使用 Flask 的全局对象,另一个只是简单地连接到 MongoDB。

这两个对我来说似乎都不是很健壮或优雅,有没有办法更好地做到这一点?

0 投票
1 回答
97 浏览

python - Ming MapperExtensions 使用

我尝试使用官方 Ming 文档中的 MapperExtension。在创建文档时我得到:

0 投票
1 回答
213 浏览

python - 如何在 Ming ODM 中映射自定义类型?

我正在Ming ODM 中设置映射。出现的一个问题是如何将自定义类型映射到字段,以及如何将该自定义类型传递给.query

基本上,我有一个代表客户 ID 的对象。我希望 FieldProperty 获取并返回这种类型的对象,而不是内置类型之一。该类型可与 int 相互转换,并且它将在 Mongo 中存储为 int,但在数据模型和其他 Python 代码中,我想将它作为这种特定于域的类型传递。

当直接将 CustomerID 类型的实例作为 kwd 参数传递给 时.query,PyMongo 抱怨它不理解该类型。

0 投票
2 回答
465 浏览

python-2.7 - WSGI 后处理清理

我正在运行一个带有 mod_wsgi 和 apache 的 TurboGears 应用程序,使用用 Ming 包装的 pymongo 来实现持久性。为了防故障和扩展我的应用程序,我有兴趣通过 pymongo ReplicaSetConnection使用 mongo 对副本集的支持。

但是,如上述链接中所述,必须close()在处理完每个 pymongoReplicaSetConnection对象后调用,否则会留下一堆僵尸进程(wtf pymongo)。Ming 不太支持这种行为(它实际上还没有真正支持 Replica Sets),但我设法编写了一个清理函数来关闭所有 pymongo 连接。

现在我想对我的所有应用程序进程的进程清理运行我的清理功能。它们有两个基本入口点:通过 apache 和 paste 命令的 mod_wsgi。将我的清理添加到 paste 命令中是没有问题的,但是有没有办法为 wsgi 进程指定清理功能?

如果没有,还有其他正确设置的建议吗?

0 投票
1 回答
252 浏览

mongodb - 在 Turbogears 中使用 GridFS 和 Ming ODM

Ming 从 0.3 版本开始支持 GridFS,到目前为止,我已经在几个 Turbogears 应用程序中使用过它,但是找不到任何关于如何将 GridFS 与 Ming 一起使用的文档,

这是我到目前为止所做的,在我的模型store.py模块中:

正如你所看到的,fs.filesystem不能参加ODMSessionThreadLocalODMSession在这种情况下),所以我必须通过做下降到基础ming.Session课程DBSession.impl

我担心的是,Turbogears 一直在使用 ThreadLocalODMSession 来适应多线程环境,但我上面所做的是给 GridFS Connection 非线程安全会话。

可以吗?
我应该如何正确/安全地做到这一点?
任何帮助将不胜感激,谢谢:)

0 投票
3 回答
486 浏览

mongodb - Ming 0.3.2 安装和导入但崩溃

安装 Ming 0.3.2 后,我通过运行以下代码来测试安装:

我查看了安装文件并在 datastore.py 文件中发现该类的构造函数不包含“数据库”参数。

然后我安装了 Ming 0.3.0 来查看 datastore.py 文件并找到与文档匹配的 DataStore 类(它包含一个数据库 arg),然后尝试了我遇到其他复杂情况的那个版本。

我使用 easy_install 来安装 Ming,我已经很好地安装了 mongodb 和 pymongo 运行。我在 OS X Lion 上运行这些。任何关于让 Ming 跑步的建议将不胜感激。

0 投票
0 回答
431 浏览

makefile - 从源代码安装时在 Ubuntu 12.04 上出现 0.4.2 编译错误

我正在尝试从源代码安装 ming 0.4.2 并且它之前可以在 Ubuntu 10.04 上编译,但是现在当我尝试使用命令安装时它会给出以下编译错误sudo make installlibpng已安装)。

0 投票
1 回答
651 浏览

c++ - _BitScanForward64 在 c++.exe (rubenvb-4.7.2-release) 中返回错误答案

长期 MSVC 用户,gcc 新手(请耐心等待)。

我在 Windows 7 上使用 rubenvb 版本的 c++(请参阅主题中的版本,是的,我正在为 64 位构建)并且我在使用 _BitScanForward64 时遇到问题。一些示例代码如下所示:

我正在编译:

"C:\Program Files\gcc2\mingw64\bin\c++.exe" -o iTot.exe -mno-ms-bitfields -march=native -momit-leaf-frame-pointer -mwin32 -Os -fomit-frame-pointer -m64 -msse4 -mpopcnt -D WINDOWS main.cpp

当我使用参数 8 运行 iTot.exe 时,我预计 _BitScanForward64 会将 ix 设置为 3。这就是 MSVC 所做的。但是,ix 为 0,而 ix2 为 1。

另外,查看汇编程序,我看到:

在这种情况下,为什么 gcc 在这里强制进行内存写入+读取?

所以,有几个问题:

  1. _BitScanForward64 是否应该在 gcc 下以不同的方式调用?如果我只是说错了,那会很高兴(尽管与 MSVC 不兼容会很痛苦)。
  2. 为什么 _BitScanForward64 内在强制内存写入?
  3. 盯着 -S 的汇编器输出,我看不出生成的代码有什么问题。但是,使用objdump.exe -d -Mintel,我发​​现它没有使用上面的 asm 代码(这似乎可以工作),它实际上产生了相反的结果:

    bsf rax,QWORD PTR [rsp+0x2c]

怎么回事?为什么 -S 对我撒谎?

就像我说的,我是 gcc 的新手,所以如果我只是在做一些愚蠢的事情,请对我温柔一点。谢谢。