无法将数据推入mongo数据库中的当前对象
Unable to push data into current object inside mongo database
我使用mongodb原生和Node.js 6.5.0。
我有用户对象在mongodb的结构为:
{
"_id" : ObjectId("57d7d294d96a73d128c46db9"),
"id" : "105862592064",
"labels" : [
]
}
我有一个循环(为每个用户找到)从API获取数据,然后将其推入数组类型的对象属性。其中用户id为user.id
,推送数据为resp.labels
。
这是我的代码:
db.collection('users').update(
{"id":user.id},
{"$push":{"users.labels":resp.labels}}
)
它不返回任何错误,也不更新对象。我做错了什么?
Try this:
db.collection('users').update(
{"id":user.id},,
{
$push: {
labels: {
$each: //yourArray
}
}
}
);
$push
用于将单个元素压入数组。使用$push
和$each
一起推入多个元素。此外,对象标签周围的引号也不应该是必要的:
db.collection('users').update(
{ id:user.id },
{ $push: { labels: { $each: resp.labels } } }
)
试试$set
db.collection('users').update(
{"id":user.id},
{$set:{"users.labels":"hola"}})
尝试包含{upsert:true}
:
db.collection('users').update(
{"id":user.id},
{"$push":{"users.labels":resp.labels}},
{"upsert": true}
);
相关文章:
- 在不使用循环的情况下,从一个数据库字符串值向javascript数组添加多个对象
- 可以't更新数据库中的对象
- 在不重构Mongo数据库的情况下,更新嵌入数组中的具有给定ID的对象
- 将Javascript对象存储在Wordpress用户数据库中
- 在 Forerunner 数据库集合中创建主键时,key 属性是否可以位于集合对象的对象内部
- 为什么Meteor在刷新后会复制数据库对象
- 不能使用mongoose将多个对象添加到数据库中
- 返回 indexedDB 数据库对象存储中的所有值
- IndexedDB - 对象存储 vs 多个数据库 vs 索引
- 正确初始化索引数据库对象存储
- 如何从 json 对象获取特定的键和值以存储在数据库中
- 如何通过 ajax 在数据库中存储大量 JavaScript 对象
- 如何在浏览器控制台中初始化 MongoDB 对象数据库
- 与 API 一起使用时,将 Date 对象存储在数据库中的最佳实践是什么
- 如何将新用户添加到我的用户数据库对象中
- 沙发数据库列表仅返回 [对象对象][对象对象]
- 我可以在mySQL数据库中存储JavaScript对象吗?
- 在 SQL 数据库中存储带有函数的 Javascript 对象
- 如何在索引数据库中按属性查询对象
- 类型错误: 找不到数据库对象