Joh*_*ams 3 mongodb node.js mongoskin
{username:'me',公司:{"yourcompany":{...}}
我想将公司插入用户记录(用户集合),以便:
{username:'me',公司:{"yourcompany":{...},"mycompany":{...}}
但这个名字很动态..
var companyid = "mycompany";
.collection('users').findAndModify(
{username: usern},
[['_id', 'asc']],
{$set:{companies:{companyid: { desksmemberships:[] }}}},
{new: true}, function(){...}
Run Code Online (Sandbox Code Playgroud)
给... .. {username:'me',公司:{"yourcompany":{...},"companyid":{...}}
我该怎么做呢?
您必须以$set
编程方式构建修改器:
var modifier = { $set: {} };
modifier.$set['companies.' + companyid] = { desksmemberships:[] };
Run Code Online (Sandbox Code Playgroud)
然后将其modifier
用作findAndModify
通话中的第三个参数.
您可能还需要考虑更改companies
为数组而不是嵌入对象.
Node.js 4.x更新
您现在可以使用computed属性语法直接在对象文字中执行此操作:
collection('users').findAndModify(
{username: usern},
[['_id', 'asc']],
{$set:{['companies.' + companyid]: { desksmemberships:[] }}},
{new: true},
function(){...});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2405 次 |
最近记录: |