- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在多次尝试纠正我的逻辑失败后,我求助于寻求帮助。
我正在使用 Node、Express、Passport、Mongoose、MongoDB 来创建应用程序。到目前为止,用户可以注册并登录。当用户注册时,他们是由以下架构定义的:
var userSchema = mongoose.Schema({
local : {
username : String,
password : String,
},
jobs : [{ type: mongoose.Schema.Types.Mixed }]
});
保存用户是这样完成的:
var newUser = new User();
// set the user's local credentials
newUser.local.username = username;
newUser.local.password = newUser.generateHash(password);
newUser.jobs = [];
// save the user
newUser.save(function(err) {
if (err) {
console.log(err);
throw err;
}
console.log('user saved: ', newUser);
return done(null, newUser);
});
此 MongoDB 文档的结果是:
{
"_id": {
"$oid": "596a436a2981ab1729a4f08b"
},
"local": {
"password": "$2a$08$TV2rADNbm302cREGRzfRFOtZF4mA8kYCeBjcmalPCk./flUO3wM.6",
"username": "kev"
},
"__v": 0
}
请注意缺少的职位条目。不过,我认为这不会成为问题,现在当我尝试使用以下命令添加作业来更新文档时:
User.findOne(
{ 'local.username': req.user.username },
// { $push: { 'jobs':{'website': req.body.joblink } } },
// { returnNewDocument: true },
function(err, user) {
// if there are any errors, return the error
if (err) {
console.log(err);
return done(err);
} else {
user.jobs = [];
user.jobs.push( {'website': req.body.joblink} );
console.log(user.jobs);
user.save(function(err) {
if (err) {
console.log(err);
throw err;
}
console.log('user updated: ', user);
res.redirect('/profile');
});
}
});
Mongo 文档没有变化,而
console.log('user updated: ', user);
显示正确的文档。
最佳答案
You should use findOneAndUpdate() method of mongodb
https://docs.mongodb.com/v3.2/reference/method/db.collection.findOneAndUpdate/
Like that
var json = {'website': req.body.joblink};
User.findOneAndUpdate(
{ 'local.username': req.user.username },
{ $push: { jobs: json });
您必须更新您的架构:-
var userSchema = mongoose.Schema({
local : {
username : String,
password : String,
},
jobs : {
type: Array,
default: []
}
});
更新 schema 后,当您第一次保存文档时,如果您没有以 json 形式传递作业,它将自动创建一个默认数组。
之后您可以使用 $push 来更新作业
关于node.js - Mongoose 未将数据保存到 mLab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45120713/
这个问题已经有答案了: How to connect Robomongo to MongoDB (10 个回答) 已关闭 6 年前。 我成为 mongochef 用户已经有一段时间了,使用 mongo
我正在使用 mayavi 做一些可视化,我正在尝试从 mlab.view() 和 mlab.roll() 计算偏航和俯仰的旋转轴。我不确定 mlab.roll() 是如何定义的,是否可以获取当前 Vi
是否可以在 mLab 中使用 like/contains 查询?我在服务器上有这样的 json 数据 https://mlab.com/ : "County": "Kildare, Laois, Ca
我在 Heroku 上使用 mLab 来托管我的数据库,但我忘记了我的数据库密码。除了 mLab 网站上的以下内容外,我找不到任何有关重置数据库密码的信息: “您可能错误地使用了用于登录 mLab 帐
我有一个非常简单的 Mlab 帐户,我正在尝试使用以下命令通过命令行进行连接: mongo server_name.mlab.com:port/inventory -u -p 但我一直遇到这个问题
我是 Javascript 和 Node 的新手,并且在 MongoDB 上遇到了麻烦。所以我已经成功使用连接字符串(使用 Mongoose )连接到我的数据库。这就是我陷入困境的地方,我想做的是检索
尝试使用 this article 连接到 mlab var mongo = require('mongodb'); var Server = mongo.Server; var Db = mongo
我使用 mongoose 和 react 从 mlab 数据库中获取数据。问题是 mlab 数据库的大小为 200 MB,它是超过 400 000 个对象的集合。因此,当我获取时出现 JS 错误(内存
我已将一个 iOS 应用程序从 Parse.com 移至 Heroku 上的 Parse-Server。这是我在 main.js 云代码文件中的内容: Parse.Cloud.beforeSave (
我在 AWS 上使用 mLab 切换到开源解析, objective-c 中的项目运行缓慢。当我尝试更新删除添加或查询时,处理它大约需要五秒钟。我在 parse.com 上没有这个问题。如果有人能帮助
当我遇到一个奇怪的、看起来像浮点精度错误时,我正在使用 mlab.griddata 插入一些数据。这是调用顺序: nvals = matplotlib.mlab.griddata(lon_old.ra
我只是想知道如何在 mlab 中反转颜色图。我知道在 matplotlib 中,您只需将 _r 添加到颜色图的名称即可反转配色方案。然而,它在 mlab 中似乎略有不同。有谁知道这是如何实现的? 最佳
我是 Python 新手。我正在尝试使用 mlab 从 Python 内部运行 MATLAB包裹。我正在按照 the website 上的指南进行操作,我在 Python 命令行中输入了这个: fro
从 Matplotlib 3.1 开始,mlab.bivariate_normal 已从 matplotlib 的库中删除。我想知道是否有一个内置类在其他地方(或在 matplotlib 中)做同样的
背景 制作一个小型 Web 应用程序,连接到 Mlab 托管的 Mongo DB 。我已经在 mlab 上创建了数据库,并创建了具有读/写权限的用户。我还创建了一个包含多条记录的 users 集合。
我用Mayavi/mlab绘制了一些东西,但我不记得正确的语法是什么 设置相机位置, 更改视角,或 打开/关闭平行投影 等等 是否有比费力浏览 mlab 文档或在 Stack Overflow 上提出
我有一个内容可编辑的简单 div,我通过 onclick 事件获取用户在该 div 中输入的任何内容。我想将该数据发送到我在 Mlab 中的数据库,我在 Heroku 上托管我的应用程序。目前,当我尝
我打算让我正在编写的程序的一部分在多个原始文本源上自动生成各种统计数据的高斯分布,但是我在按照以下指南生成图表时遇到了一些问题: python pylab plot normal distributi
在多次尝试纠正我的逻辑失败后,我求助于寻求帮助。 我正在使用 Node、Express、Passport、Mongoose、MongoDB 来创建应用程序。到目前为止,用户可以注册并登录。当用户注册时
我对所有这些都很陌生。我已经进行了一些在 Mongo DB 中创建数据库的实践,我可以列出用户。但我无法添加像 ; 这样的新用户 var newUser = { "first_name":
我是一名优秀的程序员,十分优秀!