我正在使用mongodb,我希望能够编辑一个文档并重新插入它,而不需要重复。到目前为止,我已经尝试过collection.findAndModify(),但是我无法让它工作。我有这样的收藏:
UserProfiles = [
{
userProfileID: 1,
firstName: 'Austin',
lastName: 'Hunter',
email: 'ahun.....com',
token: '',
platform: '',
password: 'incorrect',
companyProfileID: 1,
authentication: '',
UserTopics: [
我想要做到这一点:
1-通过搜索电子邮件匹配,从对象中获取配置文件。
2-当电子邮件匹配时,编辑令牌和平台项。
3-然后把文件放回没有副本的地方。所以我不能再插入一次,因为那是重复的。
有人能帮我解决这个问题吗?
代码:
function registerUser(email, token, platform) {
MongoClient.connect(url, function(err, db) {
if (err) {
console.log(err);
} else {
console.log("We are connected");
}
var collection = db.collection('UserProfile');
collection.findAndModify({
query: { email: email },
update: { token: token, platform: platform }
});
db.close();
发布于 2016-09-19 14:52:47
modelname.findOneAndUpdate({ email: var_email}, { $set: { token: var_token, platform: var_platform}}, { new: true }, function(err, doc)
{
//doc here has updated document, in case you need it.
});var_email等是您的变量名,电子邮件是数据库中的字段名。
{ new: true } -此部分用于获取更新的文档,您可以选择在代码中不包含此内容,但随后将不会得到响应更新的文档。
https://stackoverflow.com/questions/39576030
复制相似问题