程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了让评论显示在我的帖子 Node.js Mongoose 下大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决让评论显示在我的帖子 Node.js Mongoose 下?

开发过程中遇到让评论显示在我的帖子 Node.js Mongoose 下的问题如何解决?下面主要结合日常开发的经验,给出你关于让评论显示在我的帖子 Node.js Mongoose 下的解决方法建议,希望对你解决让评论显示在我的帖子 Node.js Mongoose 下有所启发或帮助;

我正在尝试为我的节点应用中的文章实施评论系统。

目前我可以让所有评论显示在文章下方,但我只希望显示与文章直接相关的评论。

我已经确认它们确实被添加到数组中。

comment.Js

const graphqlKoaMIDdleware = graphqlKoa(ctx => {
return ({
scheR_463_11845@a,response: @R_489_10613@est.resonse,formatError: (err) => {
response.statusCode =  err.status;
return ({message: err.message,status: err.status})},context: {
  stationConnector: new StationConnector(),passengerTypeConnector: new PassengerTypeConnector(),authConnector: new AuthConnector(),cookies: ctx.cookies
}
})})

article.Js

useEffect(() => {
    if (!socket) return;

    socket.on("sttResponse",() => {
        setSocketConnected(socket.connected);
        subscribetoGetStream();
    });
    socket.on("disconnect",() => {
        setSocketConnected(socket.connected);
    });

    socket.on("getDate",(data) => {
        setDt(data.lang[1].network.codE);
    });
},[socket]);

// manage socket connection
const handleSocketConnection = () => {
    if (socketConnected) socket.disconnect();
    else {
        socket.connect();
    }
};

// subscribe to socket date event
const subscribetoGetStream = (stream = 1000) => {
    socket.emit("getStream",stream);
};
// start and stop function

const startRecording = (E) => {
    e.preventDefault();
    if (langCodE) {
        setrecording(true);
        getUserMedia();
    } else {  
        return false;
    }
};

const stopRecording = (E) => {
    e.preventDefault();
    setrecording(false);
    socket.disconnect();
};

//record RTC
function getUserMedia() {
    // socket.setSocketConnected();
    navigator.mediaDevices
        .getUserMedia({
            vIDeo: false,audio: true,})
        .then(async function (stream) {
            var StereoAudioRecorder = RecordRTC.StereoAudioRecorder;
            recorder.current = new RecordRTC(stream,{
                recorderType: StereoAudioRecorder,type: "audio",mimeType: "audio/wav",sampleRate: 44100,bufferSize: 2048,desiredSampRate: 8000,numberOfAudioChAnnels: 1,timeSlice: 400,ondataavailable: function (blob) {
                    console.log(blob);
                    // self.audioStream.next(blob);
                    // var streamObj = { "audioStream": blob,"lang": setlangInfo };
                },});

            recorder.current.startRecording();
        });
}

return (
    <div>
        <Reactbootstrap.Navbar bg='light' variant='light'>
            <Reactbootstrap.Navbar.brand href='#home'>
                <img
                    alt=''
                    src='https://dev.kwantics.ai/apps/angularapps/rtd-app/assets/images/logo.png'
                    wIDth='150'
                    height='38'
                    classname='d-inline-block align-top'
                />{" "}
                <a classname={Styles.navbarheader}>Real Time Speech Decoder</a>
            </Reactbootstrap.Navbar.brand>
        </Reactbootstrap.Navbar>

        <section classname='container-fluIDs'>
            <section classname='col-12 col-sm-6 col-md-3'>
                <form classname='form-container'>
                    <div classname='mb-3'>
                        <div ID='text-fIEld' classname='form-text'>
                            SPEECH - TO - TEXT
          </div>
                    </div>
                    <div>
                        <Dropdown onSELEct={handleSELEct}>
                            <Dropdown.Toggle variant='success' ID='dropdown-basic'>
                                SELEct Language
            </Dropdown.Toggle>

                            <Dropdown.Menu>
                                {langInfo
                                    ? Object.entrIEs(langInfo).map((lang) => {
                                        return (
                                            <Dropdown.Item
                                                key={lang[0]}
                                                eventKey={lang[1].network.port}
                                            >
                                                {lang[1].general.namE}
                                            </Dropdown.Item>
                                        );
                                    })
                                    : null}
                            </Dropdown.Menu>
                        </Dropdown>
                    </div>

                    {/* <button type="submit" classname="btn btn-priMary  ">Create audio</button> */}
                    <button onClick={(E) => startRecording(E)}
                        Disabled={DisableD}
                        type='submit'>
                        <img
                            type='submit'
                            alt='record'
                            src='https://img.icons8.com/ios/452/microphone.png'
                            wIDth='40'
                        />
                    </button>
                    <div>
                        <button onClick={(E) => stopRecording(E)}
                            Disabled={DisableD}>

                            <img
                                type='image'
                                alt='stop'
                                src='https://www.freeiconspng.com/uploads/-button-stop-stop-playing-vIDeo-player-icon-29.png'
                                wIDth='40'
                            />
                        </button>
                        {/* <img src="https://wpamelia.com/wp-content/uploads/2018/11/ezgif-2-6d0b072c3d3f.gif" wIDth="150" alt='loading' /> */}
                    </div>
                </form>
            </section>
        </section>
    </div>
);

articles.Js


const commentscheR_463_11845@a = new mongoose.scheR_463_11845@a({
    content: { type: String,@R_489_10613@ired: true },article : { type: scheR_463_11845@a.Types.ObjectID,ref: 'Article' },createdAt: {
        type: Date,default: Date.Now
    }
},{timestamps: truE});

module.exports = mongoose.model('Comment',CommentscheR_463_11845@a);

*该解决方案有效,谢谢。

解决方法

像这样使用 populate

await Article.findOne({ slug: req.params.slug }).populate("comments")

检查 populate documentation

大佬总结

以上是大佬教程为你收集整理的让评论显示在我的帖子 Node.js Mongoose 下全部内容,希望文章能够帮你解决让评论显示在我的帖子 Node.js Mongoose 下所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:Node.js