私はフォーラムを作成しています。ユーザがログインして投稿を投稿しています。私はmongooseを使って投稿を保存しています。ユーザーが別の投稿を公開するとmongodbが生成されますユーザーが公開するすべての投稿の同じObjectID、およびユーザーがログアウトして戻るときに、mongodbは新しいObjectIDを生成します。ここmongodbはデータを保存するときに同じObjectIDを生成します
は私のコードです:
import mongoose from 'mongoose'
mongoose.Promise = global.Promise
import db from './db'
const PostSchema = new mongoose.Schema({
author:String,
title:String,
content:String,
time:{}
});
PostSchema.methods.savePost = function(post,cb){
const date = new Date();
const time = {
date: date,
year : date.getFullYear(),
month : date.getFullYear() + "-" + (date.getMonth() + 1),
day : date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate(),
minute : date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " +
date.getHours() + ":" + (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes())
};
this.author = post.author;
this.title = post.title;
this.content = post.content;
this.time = time;
this.save(cb);
};
API:ここ
postEntity.savePost(post,err=>{
if(err){
return res.status(500).end('server err')
} else {
console.log('publish successfully')
return res.status(200).end('success')
}
})
私のGitHubのすべてのコードです:https://github.com/laoqiren/isomorphic-redux-forum/tree/master/server
問題を特定するのに十分なコードがありませんが、私が指摘しておきたいことは、そのsavePostメソッドを設定するスペースを無駄にしていることです。タイムスタンプはすべてMongooseのタイムスタンプオプションを設定するだけで完了でき、残りはコンストラクタに情報を渡すことで実行できます。 – Paul
@Paulありがとうございました、ギターをどうですか、そこにあるすべてのコード – laoqiren
おそらくhttps://github.com/laoqiren/isomorphic-redux-forum/tree/master/server – laoqiren