【发布时间】:2012-09-30 23:28:18
【问题描述】:
如何连接两个字符串字段中的值并将其放入第三个字段?
我试过了:
db.collection.update(
{ "_id": { $exists: true } },
{ $set: { column_2: { $add: ['$column_4', '$column_3'] } } },
false, true
)
这似乎不起作用,并抛出not ok for storage。
我也试过这个:
db.collection.update(
{ "_id": { $exists : true } },
{ $set: { column_2: { $add: ['a', 'b'] } } },
false, true
)
但即使这样也显示相同的错误not ok for storage。
我只想在 mongo 服务器上而不是在我的应用程序中连接。
【问题讨论】:
-
见 stackoverflow.com/questions/4110897/mongodb-concatenate-results>?
-
forEach 效率低下,我正在寻找多重更新。也没有解释,如何用连接的字符串更新另一个字段的值,这就是我正在寻找的
col3 = col1 + col2“+”暗示连接 -
Mongodb 不允许在不使用 JS 函数的情况下在查询中反映它自己的文档字段。我强烈建议不要使用 JS 函数,因为它们已被证明会使查询慢 10 倍并且还有其他问题。你需要找到一些创造性的方法来解决这个问题
-
对于普通的字符串连接,你不需要 $add 操作,因为它不像 SQL,而是你可以做
column_2:'a'+'b'
标签: mongodb mongodb-query aggregation-framework string-concatenation mongodb-update