mongodb - 无法将数组添加到 mongodb
问题描述
我正在尝试向 mongodb 发送一个数组,但是res.json(user)
返回一个空的biddingGroup:[]
并且 mongodb 文档永远不会出现字段 bidingGroup。我查看了堆栈帖子并看到了有关架构的建议。我试过了
biddingGroup: [{type: String}],
biddingGroup: [String],
biddingGroup: {type: String},
我还没有找到捕获数据的工作模式。
我什至也硬编码了 bidGroup: ['test'] ,但它从未出现过。
应用程序.js
app.put('/api/listings/:id', (req, res) =>
Post.update({
id: req.query.id
}, {
$set: {
currentBid: req.query.currentBid,
lastBidTimeStamp: req.params.lastBidTimeStamp,
biddingGroup: ['test']
}
}, {
multi: false //set to false to ensure only one document gets updated
}).exec().then(data => {
console.log(data);
}, err => {
console.log(err);
})
);
任何帮助表示赞赏。
解决方案
您需要exec()
在最后使用来运行查询。那是实际运行请求并向您返回承诺的函数。另外,您对该update
功能的使用通常已关闭。
尝试这个:
Post.update({
id: req.query.id
}, {
$set: {
currentBid: req.query.currentBid,
lastBidTimeStamp: req.params.lastBidTimeStamp,
biddingGroup: ['test']
}
}, {
multi: false //set to false to ensure only one document gets updated
}).exec().then(data => {
console.log(data);
}, err => {
console.log(err);
});
推荐阅读
- python - 在链接中查找子字符串
- maven - 即使在 pom.xml 中有 dependencyManagement 也无法删除版本标签
- php - PHP - 使用 AND 条件查询 JSON 文件
- php - 在 Yii2 中使用 Yii1 CSRF Token
- node.js - 错误 find-up@4.1.0:引擎“节点”与此模块不兼容。预期版本“>=8”。Ember js + Heroku 部署
- c - C中的纯/常量函数
- python - 在python中将数据框从一行排列到多列
- sql - 对存储在 ms sql server 的 char 列中的日期或整数值使用关系运算符是否有效?
- postman - 尝试使用 Postman 对 Coinbase API 进行身份验证时,我收到“无效签名”
- asp.net-mvc - 列嵌套属性的 Kendo 网格 mvc 可过滤选项