- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
其他命令对我来说工作正常,例如:
let commandDictionary = ["count": "trials"]
let error: NSError?
let result = myConnection.runCommandWithDictionary(
commandDictionary,
onDatabaseName: databaseName,
error: &error
)
虽然尝试执行 distinct
命令不会:
let commandDictionary = ["distinct": "trials", "key": "location"]
let error: NSError?
let result = myConnection.runCommandWithDictionary(
commandDictionary,
onDatabaseName: databaseName,
error: &error
)
运行后,error
的值为:Optional("MONGO_COMMAND_FAILED: The command returned with\'ok\' value of 0")
。在 shell 中运行(我相信)相同的命令给了我理智的值(value)观:
db.runCommand({distinct: "trials", key: "location"})
此外,MongoConnection.serverVersion()
给我:"2.6.3"
,MongoConnection.serverError()
返回 无
。在 shell 中运行命令时,详细的服务器日志显示:
2014-12-12T10:11:54.556-0500 [conn69] command eim.$cmd command: distinct { distinct: "trials", key: "metadata.location"} keyUpdates:0 numYields:0 锁(微)r:606 reslen:210 0ms
他们为 ObjCMongoDb 运行的命令显示了这一点:
2014-12-12T10:10:25.945-0500 [conn171] 命令 eim.$cmd 命令:isMaster { key: "metadata.location", distinct: "trials"} ntoreturn:1 keyUpdates:0 numYields :0 reslen:138 0ms
distinct
命令似乎在某处被映射到 isMaster
命令。其他命令会发生这种情况。例如,命令 {listDatabases:1}
也映射到 isMaster
。但是,命令 {buildInfo:1}
已正确映射到 buildInfo
。
最佳答案
如本 issue report 中所讨论,问题是数据库要求键是有序的,但是 Swift 和 Objective-C 一样,不保留字典键的顺序。
作为库的作者,我建议的解决方法是使用库中包含的 OrderedDictionary 构造命令。
更新:
在库的 0.12.0 版本中,-runCommandWithDictionary 已弃用。这是新方法的代码:
let error: NSError?
let result = myConnection.runCommandWithName(
"distinct",
value: "trials",
arguments: ["key": "location"],
onDatabaseName: databaseName,
error: &error
)
关于ios - 通过 ObjCMongoDB 运行基于 MongoDB 字典的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27445189/
我对使用 ObjCMongoDB 很陌生;我需要从应用程序内部连接到 mongoDB,因此我尝试将 ObjCMongoDB.framework 集成到我的项目中。 我已阅读维基百科,但没有找到任何有关
全面披露: 我不是受过教育的程序员,我的全部编程经验都在 Javascript 和 Objective-C 中。 现在您知道自己在处理什么了。小心行事。没有突然的 Action 。 我正在编写一个与
因此,我尝试在 iOS 应用程序中启动并运行 ObjCMongoDb,但我一直收到此错误。 ignoring file /Users/user/Documents/Programming/ObjCMo
其他命令对我来说工作正常,例如: let commandDictionary = ["count": "trials"] let error: NSError? let result = myConn
我必须使用 MongoDB 创建一个 iOS 客户端,并且我需要保护连接。我正在考虑使用 ObjCMongoDB 库来执行此操作,因为该接口(interface)位于 Objective-C 中。我们
我是一名优秀的程序员,十分优秀!