object referencing/mongoose-mongodb
I have been taking colt Steeles's web development bootcamp classes,so i am on the associations topic. tried writing code to do a one to many association via object referencing, the code appears thus
var mongoose= require("mongoose");
mongoose.connect("mongodb://localhost/blogApp_demo_2",useNewUrlParser:true);
var postSchema= new mongoose.Schema(
title:String,
content:String
);
var post= mongoose.model("post",postSchema);
var userSchema = new mongoose.Schema(
name: String,
Email:String,
posts:[
type:mongoose.Schema.Types.ObjectId,
ref:"post"
]
);
var user= mongoose.model("user",userSchema);
post.create(
title:"beauty in the lilies",
content: "there is so much to marvel in lilies"
, function(err,post)
user.findOne(email:"deleomoarukhe@yahoo.com", function(err,foundUser)
if(err)
console.log(err);
else
foundUser.posts.push(post);
foundUser.save(function(err,data)
if(err)
console.log(err);
else
console.log(data);
);
);
);
but on trying to execute this code it gives me this error
TypeError: Cannot read property 'posts' of null
tried everything i can to get this code running, to no avail.
p.s the code was to add a further comment to an already existing user.
node.js mongodb mongoose
add a comment |
I have been taking colt Steeles's web development bootcamp classes,so i am on the associations topic. tried writing code to do a one to many association via object referencing, the code appears thus
var mongoose= require("mongoose");
mongoose.connect("mongodb://localhost/blogApp_demo_2",useNewUrlParser:true);
var postSchema= new mongoose.Schema(
title:String,
content:String
);
var post= mongoose.model("post",postSchema);
var userSchema = new mongoose.Schema(
name: String,
Email:String,
posts:[
type:mongoose.Schema.Types.ObjectId,
ref:"post"
]
);
var user= mongoose.model("user",userSchema);
post.create(
title:"beauty in the lilies",
content: "there is so much to marvel in lilies"
, function(err,post)
user.findOne(email:"deleomoarukhe@yahoo.com", function(err,foundUser)
if(err)
console.log(err);
else
foundUser.posts.push(post);
foundUser.save(function(err,data)
if(err)
console.log(err);
else
console.log(data);
);
);
);
but on trying to execute this code it gives me this error
TypeError: Cannot read property 'posts' of null
tried everything i can to get this code running, to no avail.
p.s the code was to add a further comment to an already existing user.
node.js mongodb mongoose
1
key in the user schema isEmail
and you are trying to find byemail
.
– Shivam Pandey
Nov 12 at 10:13
The error means thatfoundUser
isnull
. That's because nothing in the database matched the query conditions.email:"deleomoarukhe@yahoo.com"
If you think there is a document that matches that, then show the document.
– Neil Lunn
Nov 12 at 10:14
thanks, Shivam and Neil, apparently i didn't type the keyword "Email" correctly, I typed it as "email" instead.... made the correction and it came out just fine....many thanks guys
– Daylay
Nov 12 at 11:37
add a comment |
I have been taking colt Steeles's web development bootcamp classes,so i am on the associations topic. tried writing code to do a one to many association via object referencing, the code appears thus
var mongoose= require("mongoose");
mongoose.connect("mongodb://localhost/blogApp_demo_2",useNewUrlParser:true);
var postSchema= new mongoose.Schema(
title:String,
content:String
);
var post= mongoose.model("post",postSchema);
var userSchema = new mongoose.Schema(
name: String,
Email:String,
posts:[
type:mongoose.Schema.Types.ObjectId,
ref:"post"
]
);
var user= mongoose.model("user",userSchema);
post.create(
title:"beauty in the lilies",
content: "there is so much to marvel in lilies"
, function(err,post)
user.findOne(email:"deleomoarukhe@yahoo.com", function(err,foundUser)
if(err)
console.log(err);
else
foundUser.posts.push(post);
foundUser.save(function(err,data)
if(err)
console.log(err);
else
console.log(data);
);
);
);
but on trying to execute this code it gives me this error
TypeError: Cannot read property 'posts' of null
tried everything i can to get this code running, to no avail.
p.s the code was to add a further comment to an already existing user.
node.js mongodb mongoose
I have been taking colt Steeles's web development bootcamp classes,so i am on the associations topic. tried writing code to do a one to many association via object referencing, the code appears thus
var mongoose= require("mongoose");
mongoose.connect("mongodb://localhost/blogApp_demo_2",useNewUrlParser:true);
var postSchema= new mongoose.Schema(
title:String,
content:String
);
var post= mongoose.model("post",postSchema);
var userSchema = new mongoose.Schema(
name: String,
Email:String,
posts:[
type:mongoose.Schema.Types.ObjectId,
ref:"post"
]
);
var user= mongoose.model("user",userSchema);
post.create(
title:"beauty in the lilies",
content: "there is so much to marvel in lilies"
, function(err,post)
user.findOne(email:"deleomoarukhe@yahoo.com", function(err,foundUser)
if(err)
console.log(err);
else
foundUser.posts.push(post);
foundUser.save(function(err,data)
if(err)
console.log(err);
else
console.log(data);
);
);
);
but on trying to execute this code it gives me this error
TypeError: Cannot read property 'posts' of null
tried everything i can to get this code running, to no avail.
p.s the code was to add a further comment to an already existing user.
node.js mongodb mongoose
node.js mongodb mongoose
edited Nov 12 at 16:08
James Z
11.1k71735
11.1k71735
asked Nov 12 at 10:08
Daylay
1
1
1
key in the user schema isEmail
and you are trying to find byemail
.
– Shivam Pandey
Nov 12 at 10:13
The error means thatfoundUser
isnull
. That's because nothing in the database matched the query conditions.email:"deleomoarukhe@yahoo.com"
If you think there is a document that matches that, then show the document.
– Neil Lunn
Nov 12 at 10:14
thanks, Shivam and Neil, apparently i didn't type the keyword "Email" correctly, I typed it as "email" instead.... made the correction and it came out just fine....many thanks guys
– Daylay
Nov 12 at 11:37
add a comment |
1
key in the user schema isEmail
and you are trying to find byemail
.
– Shivam Pandey
Nov 12 at 10:13
The error means thatfoundUser
isnull
. That's because nothing in the database matched the query conditions.email:"deleomoarukhe@yahoo.com"
If you think there is a document that matches that, then show the document.
– Neil Lunn
Nov 12 at 10:14
thanks, Shivam and Neil, apparently i didn't type the keyword "Email" correctly, I typed it as "email" instead.... made the correction and it came out just fine....many thanks guys
– Daylay
Nov 12 at 11:37
1
1
key in the user schema is
Email
and you are trying to find by email
.– Shivam Pandey
Nov 12 at 10:13
key in the user schema is
Email
and you are trying to find by email
.– Shivam Pandey
Nov 12 at 10:13
The error means that
foundUser
is null
. That's because nothing in the database matched the query conditions. email:"deleomoarukhe@yahoo.com"
If you think there is a document that matches that, then show the document.– Neil Lunn
Nov 12 at 10:14
The error means that
foundUser
is null
. That's because nothing in the database matched the query conditions. email:"deleomoarukhe@yahoo.com"
If you think there is a document that matches that, then show the document.– Neil Lunn
Nov 12 at 10:14
thanks, Shivam and Neil, apparently i didn't type the keyword "Email" correctly, I typed it as "email" instead.... made the correction and it came out just fine....many thanks guys
– Daylay
Nov 12 at 11:37
thanks, Shivam and Neil, apparently i didn't type the keyword "Email" correctly, I typed it as "email" instead.... made the correction and it came out just fine....many thanks guys
– Daylay
Nov 12 at 11:37
add a comment |
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53259892%2fobject-referencing-mongoose-mongodb%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53259892%2fobject-referencing-mongoose-mongodb%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
key in the user schema is
Email
and you are trying to find byemail
.– Shivam Pandey
Nov 12 at 10:13
The error means that
foundUser
isnull
. That's because nothing in the database matched the query conditions.email:"deleomoarukhe@yahoo.com"
If you think there is a document that matches that, then show the document.– Neil Lunn
Nov 12 at 10:14
thanks, Shivam and Neil, apparently i didn't type the keyword "Email" correctly, I typed it as "email" instead.... made the correction and it came out just fine....many thanks guys
– Daylay
Nov 12 at 11:37