我想通过put操作用REST更新基本CRUD风格。我有一个coffeescript基类,其中@model是一个像子类中的mongoose.model('Company',schema)这样的猫鼬模型。我正在讨论两种执行PUT/update的方法:
und = require 'underscore'
class CRUDApi
# using findByIdAndUpdate
update1: (req, res) =>
data = und.clone req.body
delete data._id # so mongo
我有两个这样定义的模型:
var OrganizationSchema = new mongoose.Schema({
users: [mongoose.Schema.Types.ObjectId]
});
和
var UserSchema = new mongoose.Schema({
organizations: [mongoose.Schema.types.ObjectId]
});
当用户想要加入一个组织时,我需要同时更新组织集合和用户集合。我想知道实现这一目标的最好方法是什么?当一个更新请求失败时,是否值得考虑这种情况?我目前正在做这样的事情(其中组织是模型organ
我的数据库中有一个用户的mongoose模型。我有一个更新控制器,它在我的模型上调用findByIdAndUpdate方法。现在,当我在我的数据库中存储密码时,我想首先对它们进行散列,所以我有:
userSchema.pre("save", async function(next) {
// if password is modified then hash it
next();
});
现在,当我的更新控制器调用findByIdAndUpdate时,在我看来model.save()没有被调用,所以哈希永远不会发生。
有没有一种方法可以重载findByAndUpdate
我尝试使用mongoose编辑和更新表单。代码对我来说似乎很好,但它不起作用。我尝试了许多方法,但更新的版本仍然相同,我使用put路由发送表单,当我将req.body.studentInfo输出到控制台时,它是正确的,但更新仍然是相同的。请帮帮忙
这是我的方案
var mongoose = require("mongoose");
var uniqueValidator = require('mongoose-unique-validator');
var passportLocalMongoose = require("passport-local-m
在我的Mongoose数据库中,我有两个名为user和post的模型。我希望当我更新用户模型时,它会反映在post模型上。例如,我从用户模型中更新了我的用户名,我希望更新也能在post模型上生效。我正在使用Node.js并作出反应。
这里是我在Node.js上为用户模型编写的代码
router.put("/:id", async (req, res) =>{
if(req.body.userId === req.params.id){//we checked if the user id matched
if(req.body.password){
试图使用MongoDB更新findByIdAndUpdate文档:
var landmarkModel = mongoose.model('landmark', landmarkSchema, 'landmarks');
var lm = new landmarkModel();
//adding data to schema here, like: lm.name = req.body.name;
lm.findByIdAndUpdate(req.body._id, lm, function (err, landmark) {
if (err)
我正在尝试更新用户的送货信息。我在mongodb中有默认数据,我正在尝试用PATCH/PUT覆盖这些数据。现在邮递员无限期地挂着。mongoose模型具有这些值,我的else{}语句输出要提交的JSON对象,没有错误,但它从来没有通过。我很感谢你的帮助。邮递员
Could not get any response
app.js
app.put('/api/users/:id', (req, res) => {
User.findByIdAndUpdate({ _id: req.params.id },
{
fullName: req.body.