使用mongodb中对象字段的值创建新的数组字段(Create new array field with values from object field in mongodb)
鉴于在我的数据库中,我有这样的对象:
_id: 1, class: 'x', urls: { 'a': '/someAUrl', 'b': '/someBUrl' }
我想运行一个脚本,将这些对象转换为:
_id: 1, class: 'x', urls: { 'a': '/someAUrl' }, urls2: [ {type:'a', url:'/someAUrl'} ]
必须保留初始URL字段。 我尝试在mongo shell中运行这样的东西但没有成功:
db.eval(db.test.find({ class: 'x' }).snapshot().forEach( function (e) { e.urls2 = [{ url: e.urls.a, type: 'a'}]; db.test.save(e); } ))
有任何想法吗? 谢谢!
Given that in my db I have objects like this:
_id: 1, class: 'x', urls: { 'a': '/someAUrl', 'b': '/someBUrl' }
I would like to run a script that transforms those objects to:
_id: 1, class: 'x', urls: { 'a': '/someAUrl' }, urls2: [ {type:'a', url:'/someAUrl'} ]
The initial urls field must remain. I tried running something like this inside mongo shell with no success:
db.eval(db.test.find({ class: 'x' }).snapshot().forEach( function (e) { e.urls2 = [{ url: e.urls.a, type: 'a'}]; db.test.save(e); } ))
Any ideas? Thanks!
原文:https://stackoverflow.com/questions/38488037
更新时间:2023-01-10 21:01
最满意答案
要访问特定行的特定列值,请使用
myTableData.Rows(rowNumber)(columnNumber)
要么
myTableData.Rows(rowNumber).Item(columnNumber)
To access a particular column value of a particular row, use
myTableData.Rows(rowNumber)(columnNumber)
or
myTableData.Rows(rowNumber).Item(columnNumber)
相关问答
更多-
VB和C语言哪个难一些?[2023-06-26]
vb -
VB6与VB.NET的差异有哪些?[2022-02-04]
.Net平台引入了很多先进的技术,导致了VB6和VB.Net之间产生了一个巨大的鸿沟 就语言功能上来讲,VB.net完全是为了.Net技术而生,具有更好的运行效率和更加强大的功能(某些方面甚至超过了C#) 从语法角度上来讲,VB.net成为了真正的OOP(面向对象语言),不但支持类的继承、派生,还支持委托、泛型等等更加高级的编程技术 如果你是从VB6升级到.net的话,建议要将VB.net当作一门新的语言来学。以VB6的经验来应用到VB.net上是会犯很多错误的 关于从VB6升级到VB.net的代 ... -
VB6与VB.NET的差异有哪些?[2022-10-11]
.Net平台引入了很多先进的技术,导致了VB6和VB.Net之间产生了一个巨大的鸿沟 就语言功能上来讲,VB.net完全是为了.Net技术而生,具有更好的运行效率和更加强大的功能(某些方面甚至超过了C#) 从语法角度上来讲,VB.net成为了真正的OOP(面向对象语言),不但支持类的继承、派生,还支持委托、泛型等等更加高级的编程技术 如果你是从VB6升级到.net的话,建议要将VB.net当作一门新的语言来学。以VB6的经验来应用到VB.net上是会犯很多错误的 关于从VB6升级到VB.net的代码变换问题 ... -
要使用负十六进制int16常量,请在值前面加上FFFF。 似乎十六进制常量在vb.net中是int32(至少)。 dim w as int16 w = &HFFFF8589 To use a negative hex int16 constant, precede the value with FFFF. It seems that hex constants are int32 (at least) in vb.net. dim w as int16 w = &HFFFF8589
-
GetEnumerator()是完全等价的。 它在
代码中作为NewEnum公开。 只需实现System.Collections.IEnumerable接口,即非泛型接口。 GetEnumerator() is the exact equivalent. It gets exposed as NewEnum in code. Simply implement the System.Collections.IEnumerable inte ... -
不要使用* A版本,只需跳过后缀,并使用StringBuilder而不是String: Private Declare Auto Function GetWindowText Lib "user32" (ByVal hwnd As Integer, ByVal lpWindowText As StringBuilder, ByVal cch As Integer) As Integer Private Declare Function GetWindowTextLength Lib "user32" (By ...
-
要访问特定行的特定列值,请使用 myTableData.Rows(rowNumber)(columnNumber) 要么 myTableData.Rows(rowNumber).Item(columnNumber) To access a particular column value of a particular row, use myTableData.Rows(rowNumber)(columnNumber) or myTableData.Rows(rowNumber).Item(colu ...
-
来自MSDN Library: AscB函数与包含在字符串中的字节数据一起使用。 AscB返回第一个字节,而不是返回第一个字符的字符代码 所以以下应该工作: Encoding.ASCII.GetBytes(value).First 价值是一个Char Gent, many thanks for your replies... The code I had was part of an MD5 encryption class written in VB6. Over the weekend I came ...
-
Open strFileName For Output As #FileHandle% MousePointer = vbHourglass Print #FileHandle%, strText MousePointer = vbDefault Close #FileHandle% 转换为VB.NET代码: Me.Cursor = Cursors.WaitCursor Using fs As New StreamWriter(strFileName, Fa ...
-
有关从Visual Basic 6调用.Net类的完整文章: http : //www.devsource.com/c/a/Using-VS/Calling-Net-Classes-from-Visual-Basic-6/ 使用VS 2005创建COM DLL:步骤: http : //www.codeproject.com/KB/COM/VS2005ComDllWalkThru.aspx A complete article about Calling .Net Classes from Visual B ...